UIPanGestureRecognizer conflit avec le scrollview

J'essaye d'ajouter une casserole geste de reconnaissance pour une vue contenant une scrollview, mais je suppose que j'ai des problèmes avec les priorités.

Mes UIView a un UIPanGestureRecognizer définir comme suit:

_bottomPanGestureRecognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(bottomPanGestureDetected:)];
_bottomPanGestureRecognizer.minimumNumberOfTouches = 2;
_bottomPanGestureRecognizer.maximumNumberOfTouches = 2;
_bottomPanGestureRecognizer.delaysTouchesBegan = NO;
_bottomPanGestureRecognizer.delaysTouchesEnded = NO;

Je tiens à saluer ce geste pour afficher une autre vue depuis le fond avec une sorte de pincement terre-à-up.

Le problème est que la scrollview est la reconnaissance de sa propre pan geste avant le mien.

J'ai donc essayé de retarder grâce à:

[_scrollView.panGestureRecognizer requireGestureRecognizerToFail:_bottomPanGestureRecognizer];

Et il du travail, la scrollview événement est déclenché après mes deux doigt vers le bas pour jusqu'reconnaissance, mais le problème est que maintenant, quand je utiliser un seul doigt pour faire défiler dans la scrollview, le défilement fonctionne après un petit retard.

Je voudrais ne pas avoir de retard pour cet événement, est-ce possible? Toute idée bienvenue!

Acclamations.

Cyril

  • Avez-vous essayé de mettre maximumNumberOfTouches de _scrollView.panGestureRecognizer à 1?
  • Oui, mais étrangement, il semble que cette condition est ignoré.
  • Eh bien, une autre option est de mettre en œuvre UIGestureRecognizerDelegate's gestureRecognizerShouldBegin: et vérifiez le numéro de la touche on. Donc, si c'est deux touches, return NO
  • Pas de travail à cause de cela: "UIScrollView intégré dans le moule geste de reconnaissance doit avoir son défilement vue comme délégué.". Il semble être impossible de remplacer le scrollview geste de reconnaissance délégué. Une autre idée?
  • Avez-vous trouvé une solution pour cela? je suis en train de vivre le même problème
InformationsquelleAutor cyrilPA | 2013-02-01