/ / SWRevealViewController problem z rozpoznawaniem gestów - ios, iphone, uipangesturerecognizer, uiswipegesturerecognizer

SWRevealViewController problem z rozpoznawaniem gestów - ios, iphone, uipangesturerecognizer, uiswipegesturerecognizer

ja używam SWRevealViewController od Johna-Llucha. Muszę użyć gestu panoramy, aby wyświetlić paski boczne i używam machnięcia do przeglądania poprzednich i następnych artykułów. Jednak gest panoramy może zostać wykryty.

AKTUALIZACJA: Mój gest machnięcia zadziałał, gdy wyłączę mój gest panoramy.

Pan Gest

 [self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];

Przesuń gest

UISwipeGestureRecognizer *left = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeLeft:)] autorelease];
left.direction = UISwipeGestureRecognizerDirectionLeft;

UISwipeGestureRecognizer *right = [[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeRight:)] autorelease];
right.direction = UISwipeGestureRecognizerDirectionRight;

[self.view addGestureRecognizer:left];
[self.view addGestureRecognizer:right];

Odpowiedzi:

1 dla odpowiedzi № 1
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];

[self.view addGestureRecognizer:left];

Zauważ różnicę? Zaimplementuj SwipeGesture jako własność w .h lub zrób to w swoim pliku .xib i połącz ją ze swoim .h


1 dla odpowiedzi nr 2

Trudno jest manipulować zarówno przesuwaniem, jak i przesunięciemjednoczesne rozpoznawanie gestów. Będziesz obsługiwał delegatów SWRevealViewController dla gestu panoramowania i gestu przesuwania dla bieżącego kontrolera viewcontroller.

Jak sugeruje jabłko, aby odróżnić gest, można użyć następującej metody

- (BOOL) gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}

Fragment z Dokumentacja Apple:

Ta metoda jest wywoływana, gdy rozpoznawanie agest przez którykolwiek gestRecognizer lub otherGestureRecognizer blokowałby drugi Rozpoznawanie gestów od rozpoznania gestu. Zwróć uwagę TAK gwarantuje równoczesne rozpoznawanie; powracający NO, w dniu z drugiej strony nie ma gwarancji, że zapobiegnie równoczesnemu rozpoznaniu ponieważ inny uczestnik programu rozpoznawania gestów może zwrócić TAK.