Próbuję dodać rozpoznawcę gestu panoramy do widoku zawierającego scrollview, ale domyślam się, że mam problemy z priorytetami.Konflikt UIPanGestureRecognizer z przewijaniem
Moja globalny UIView ma UIPanGestureRecognizer ustawione tak:
_bottomPanGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(bottomPanGestureDetected:)];
_bottomPanGestureRecognizer.minimumNumberOfTouches = 2;
_bottomPanGestureRecognizer.maximumNumberOfTouches = 2;
_bottomPanGestureRecognizer.delaysTouchesBegan = NO;
_bottomPanGestureRecognizer.delaysTouchesEnded = NO;
chcę rozpoznać ten gest, aby wyświetlić inny widok od dołu z jakimś szczyptą dół-up.
Problem polega na tym, że scrollview rozpoznaje własny gest panoramy przed moim.
Więc starałem się opóźnić to dzięki:
[_scrollView.panGestureRecognizer requireGestureRecognizerToFail:_bottomPanGestureRecognizer];
I to działa, zdarzenie Scrollview jest zwolniony po moich dwóch palec w dół, aby się rozpoznawania, ale problem jest teraz, kiedy używać tylko jednego palca do przewijaj w przewijanym widoku, a scroll działa po niewielkim opóźnieniu.
Chciałbym nie mieć żadnych opóźnień na to wydarzenie, czy to możliwe? Każdy pomysł mile widziany!
Pozdrawiam.
Cyril
Czy próbowałeś ustawić 'maximumNumberOfTouches' od' '1 'do _scrollView.panGestureRecognizer'? – kovpas
Tak, ale dziwnie, wygląda na to, że ten warunek jest ignorowany. – cyrilPA
Inną opcją jest zaimplementowanie 'gestureRecognizerShouldBegin:' UIGestureRecognizerDelegate' i sprawdzenie liczby dotknięć tam. Więc jeśli to dwa dotknięcia, 'return NO' – kovpas