Comment puis-je lier par programme une UIView ou UIImageView avec un événement comme “touch up inside”?
Interface Builder ne me permet de brancher jusqu'à de tels événements pour un bouton. Mais comme dans le HTML, je veux juste n'ai un vide UIImageView où, dès que l'utilisateur appuie - une méthode est invoquée. J'espère qu'il y aura quelques frais par programmation façon de le faire, je ne sais pas.
Mise à JOUR:
De mon point de Vue Contrôleur qui crée la UIImageView j'ai essayé de faire ceci:
SEL actionSelector = @selector(doSomethingWhenImageIsTouched:);
[self.myUIImageView addTarget:nil action:actionSelector forControlEvents:UIControlEventTouchUpInside];
Le compilateur me donne un avertissement, que UIImageView ne peut pas répondre à addTarget:... que dois-je faire pour qu'il fonctionne avec une UIImageView. Je vois dans les docs que UIImageView n'hérite pas de UIControl, mais addTarget: fait partie de UIControl.
Mise à JOUR:
J'ai fini par créer un UIButton après la création de la UIImageView. Puis j'ai mis le cadre de ce bouton à l'image de la UIImageView, et l'alpha à 0,1 f. Pour une raison quelconque, il ne fonctionnera pas si l'alpha est de 0,0 f. Et puis, je n'ai que cool addTarget: chose...
C'est ce que j'ai fait récemment. Fonctionne comme un charme. Peut-être que vous pourriez faire une réponse?
Concernant l'alpha de 0,1, hitTest:withEvent: ignore les points de vue qui sont cachés, avez désactivé l'interaction de l'utilisateur ou d'avoir un alpha de moins de 0,1 (voir hitTest sous UIView classe de référence)
OriginalL'auteur Thanks | 2009-05-26
Vous devez vous connecter pour publier un commentaire.
Dans le SDK de la version 3.2 (peut-être plus tôt, j'ai donno), vous pouvez ajouter des modules de reconnaissance de geste à une UIView. UIGestureRecogniser est une classe abstraite qui permet de définir un geste (toucher, pincer, balayer, etc) et l'ajouter à une UIView et quand le geste de reconnaissance, reconnaît le geste, il déclenche une action sur une cible de votre désir.
lire tout ça dans les docs... 😀
OriginalL'auteur Alex Zak
Il n'est pas possible d'utiliser la Cible Modèle d'Action ici parce que UIImageView n'est pas hérité de UIControl comme UIButton il est dérivé de UIView. Donc, si tu veux suivre la touche sur les points de vue ou de visualisation des images de la première u ont la coutume de la classe et puis les placer au toucher a commencé événement et effectuer l'opération. Sinon utiliser UIGestures qui peuvent aider à u beaucoup
OriginalL'auteur vignesh
UIViews n'avez généralement pas besoin IBAction points de vente à recevoir des événements tactiles. En règle générale, si une vue est sous le contrôle d'un viewController, vous pouvez vérifier pour UITouch Événements à l'aide de touchesBegan méthodes. Pour définir la cible et le sélecteur pour contrôler les actions que vous pouvez également utiliser:
addTarget est un UIControl méthode. UIView n'est pas un UIControl.
OriginalL'auteur Jordan