iPhone iOS comment ajouter un UILongPressGestureRecognizer et UITapGestureRecognizer au même contrôle et empêcher les conflits?
Je suis en train de construire une application pour iPhone qui permettent à l'utilisateur de réorganiser certains des éléments de l'INTERFACE utilisateur sur l'écran.
Comment puis-je ajouter un robinet geste de reconnaissance et un appui long geste de reconnaissance à la même UIView? Lorsque je lève le doigt de long appuyez sur, appuyez sur la geste de reconnaissance des incendies. Comment puis-je désactiver temporairement le robinet geste de reconnaissance ou de l'empêcher de cuisson lorsque l'utilisateur exerce une pression longue?
Merci!
source d'informationauteur Alex Stone
Vous devez vous connecter pour publier un commentaire.
Pour permettre à la fois des gestes de travailler ensemble, de mettre en œuvre le délégué suivant la méthode:
De faire en sorte que le long appuyez sur a la priorité, à faire:
[tapGesture requireGestureRecognizerToFail:longPress];
À combiner avec succès les deux vous avez besoin de:
1º Ajouter à l'interface geste délégué à en-tête de
2º de Créer des événements de mouvement et de l'ajouter à un point de vue dans le fichier source:
3º Ajouter des rappels dans le fichier source:
4º Ensemble geste de reconnaissance disponibles:
Comme une approche alternative, de ne pas avoir deux recognisers - il suffit d'utiliser la appuyez de manière prolongée sur logiciel de reconnaissance pour les deux événements:
Configurer comme suit:
Puis de gérer comme suit:
J'ai essayé de moby et de compagnon d'approche mais de toute façon ils ne correspondent pas à mon projet, donc j'ai résolu comme ci-dessous,
et
Il pourrait être plus simple solution mais bien sûr, cela dépend du projet.
Vous pourriez prendre soin de lui dans le code, que, pendant le long de la presse, de définir un indicateur, et si le robinet est appelée alors que le drapeau est vrai ou que ce soit, alors ne pas exécuter le code et appuyez sur réinitialiser l'indicateur. Je ne sais pas une meilleure façon