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.