Comment détecter un geste de robinet dans les sous-vues
Petite question: comment puis-je détecter si un robinet geste de reconnaissance est à l'intérieur d'une sous-vue de la vue, il est ajouté? Par exemple. si je clique sur un objet tel qu'un carré qui a été ajouté comme une sous-vue pour un fond d'un robinet geste de reconnaissance a été ajouté, comment puis-je détecter qu'il a été tapé?
source d'informationauteur Fitzy | 2012-05-05
Vous devez vous connecter pour publier un commentaire.
Vous pouvez saisir le point de fermer le robinet de la geste de reconnaissance quand votre gestionnaire méthode est appelée respectifs à tout point de vue que vous souhaitez à l'aide de
-locationInView:
. Ensuite, utilisez la méthode suivante sur UIView:- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
pour obtenir une référence à la sous-vue qui a été tapé en rappelant que le point que vous transmettez est dans le même espace de coordonnées de la vue.Un peu de code pour vous aider à démarrer:
Pour frapper les tests de travailler le point de vue doit avoir le
userInteractionEnabled
propriété définie àYES
. De nombreux points de vue, commeUILabel
s ont ce jeu deNO
par défaut. Avant la ci-dessus:vous devriez peut-être défini comme:
des sous-vues.userInteractionEnabled = OUI;
bonne chance!
vous pouvez utiliser le
requireGestureRecognizerToFail:
de reconnaître le robinet sur la sous-vue, veuillez vous référer cette code