2013-01-24 3 views
0

Newbie question. Dans IB j'ajouté UIImageView à la scène et mis quelques gestes pour en -viewDidLoad cette façon:Ajouter des gestes pour UIImageView et UIView à un ViewController

image.userInteractionEnabled = YES; 
image.multipleTouchEnabled = YES; 

UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(controlPan:)]; 
[image addGestureRecognizer:pan]; 

pan.delegate = self; 
// and few others gestures same way 
... 

et gestes a bien fonctionné. Après cela dans IB j'ai ajouté UIView à la même scène et j'implémente des gestes absolument identiques au code précédent, encore une fois en -viewDidLoad. Mais après cela, les gestes cessent de fonctionner pour UIView et UIImageView. Ai-je besoin de faire .h et .m pour cette vue et de mettre en œuvre des reconnaisseurs de gestes, ou la raison peut-elle être dans quelque chose d'autre?

+0

Avez-vous défini ici la même méthode pour UIView et UIImageController: action: @selector (controlPan :)? Si oui, essayez de définir différentes méthodes de gestion. –

+0

Oui, ils étaient tous connectés à la même méthode. J'ai essayé de me connecter à un autre et maintenant ça a marché! Merci beaucoup! Mais pourquoi les gestes étaient-ils bloqués avant? – Alex

+0

Si ma réponse vous a aidé, veuillez la marquer comme correcte. –

Répondre

1

Si vous avez la même méthode de gestionnaire, vous devez faire la distinction entre le geste de l'objet et l'action. Si vous définissez des méthodes de gestionnaire différentes pour chaque objet, vous n'avez pas besoin de savoir à quel mouvement d'objet a été appelé.

Questions connexes