UINavigationController interactivePopGestureRecognizer fonctionne de façon anormale dans iOS7

Dans iOS7, nous avons un nouveau "balayez vers la gauche vers la droite" geste, c'est une fonctionnalité très utile, mais maintenant j'ai un problème avec elle.

J'utilise ce code pour personnalisé le bouton retour dans UINavigationBar.

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:view];

mais cela désactive le "balayage de gauche à droite" geste, donc j'utilise le code ci-dessous pour garder le geste activé.

self.navigationController.interactivePopGestureRecognizer.delegate = self

Et puis, j'ai trouvé que le geste est fonctionne de façon anormale, si les ViewController a un tableView, lors de la tableView est le défilement, le geste ne sera pas déclenché. Maintenant, le geste ne peut pas être déclenchées facilement, est-il un moyen pour résoudre ce problème?

Avez-vous essayé de mettre en œuvre: – gestureRecognizer:shouldRecognizeSimultaneouslyWithgesturerecognizer: sur votre UIGestureRecognizerDelegate ensuite, vous pouvez vérifier si l'un des gestes est le swipetopop geste et retour OUI.
Il fonctionne! Et j'ai mis en place - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer, return YES; pour désactiver le otherGestureRecognizer, donc le courant de ViewController ne recevez pas le UIPanGestureRecognizer pour le défilement UITableView. Maintenant, il a l'air bien, merci beaucoup!
Swift 3 solution: stackoverflow.com/a/43433530/308315

OriginalL'auteur Wei | 2014-01-08