Sto provando ad aggiungere un indicatore di riconoscimento pan a una vista contenente una scrollview, ma suppongo di avere problemi con le priorità.Conflitto UIPanGestureRecognizer con scrollview
mio UIView globale ha un UIPanGestureRecognizer impostato in questo modo:
_bottomPanGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(bottomPanGestureDetected:)];
_bottomPanGestureRecognizer.minimumNumberOfTouches = 2;
_bottomPanGestureRecognizer.maximumNumberOfTouches = 2;
_bottomPanGestureRecognizer.delaysTouchesBegan = NO;
_bottomPanGestureRecognizer.delaysTouchesEnded = NO;
Voglio riconoscere questo gesto per visualizzare un'altra vista dal basso con una sorta di pinch down-to-up.
Il problema è che la scrollview sta riconoscendo il proprio gesto pan prima del mio.
Così ho cercato di ritardare grazie a:
[_scrollView.panGestureRecognizer requireGestureRecognizerToFail:_bottomPanGestureRecognizer];
E sta funzionando, l'evento ScrollView viene licenziato dopo i miei due dito verso il basso fino riconoscitore, ma il problema è ora quando uso un solo dito per scorrere la scrollview, la scroll funziona dopo un piccolo ritardo.
Mi piacerebbe non avere ritardi per questo evento, è possibile? Ogni idea è benvenuta!
Cheers.
Cyril
Hai provato a impostare 'maximumNumberOfTouches' di' _scrollView.panGestureRecognizer' a '1'? – kovpas
Sì, ma stranamente, sembra che questa condizione sia ignorata. – cyrilPA
Bene, un'altra opzione è implementare 'UIGestureRecognizerDelegate''s' gestureRecognizerShouldBegin: 'e controllare il numero di tocchi lì. Quindi, se si tratta di due tocchi, 'return NO' – kovpas