Problème avec un UITapGestureRecognizer
J'ai viewController, il est appelé WelcomeViewController
. J'ai une sous-classe UIView et qui a une certaine visualiser les choses. Je veux ajouter un UITapGestureRecognizer
de cette sous-classe. Je veux seulement le geste de reconnaissance à reconnaître les robinets à l'intérieur de cette sous-vue. Comment dois-je faire. Dois-je mettre de la UITapGestureRecognizer
dans la sous-classe ou dois-je le mettre dans l'Accueil de vc. Merci à l'avance.
Aussi, j'ai joué un peu avec elle un tas et ne semblent pas le comprendre.
OriginalL'auteur Andrew | 2011-05-10
Vous devez vous connecter pour publier un commentaire.
Cela dépend si vous voulez la poignée du robinet dans votre vue personnalisée de l'objet ou de l'avis du contrôleur.
Si, à son avis, ajouter à cela la
init
ou un autre lieu approprié:Si de l'avis du contrôleur, ajouter ceci dans le
viewDidLoad
(ou autre lieu):gestionnaire est la même:
Prendre un coup d'oeil à la SimpleGestureRecognizers exemple, et vous devriez avoir une assez bonne idée.
---- Mise à jour 10/1/2012----
Pour ceux d'entre vous qui aiment utiliser la table de montage séquentiel/plume, c'est super simple!
Ouvrir votre table de montage séquentiel/plume.
Glisser-b-déposer le genre de reconnaissance que vous voulez à partir de la Bibliothèque d'Objets sur l'élément d'INTERFACE utilisateur que vous souhaitez.
Cliquez-droit sur la reconnaissance de l'objet, puis se connecte à son
selector
à une IBAction dans le Propriétaire du Fichier (généralement un UIViewController.) Si vous avez besoin, branchez le délégué.Vous avez terminé!
J'ai affiné ma réponse. Est-ce que donner plus de sens à votre situation?
Votre vue principale peut pas passer événements à la sous-vue. Vous pouvez aussi vérifier si point de contact est dans la sous-vue image.
Comment puis-je vérifier si le point de contact est dans la sous-vue. Je pense que je vais juste le faire et ensuite appeler la méthode dans l'autre classe.
l'ajout d'un geste de reconnaissance dans le storyboard est encore plus simple! J'ai mis à jour mon post un peu à l'inclure. Espérons que ça aide!
OriginalL'auteur Joseph Lin
Je pense que vous devez définir le délégué de la geste de reconnaissance pour n'importe quelle vue contrôleur que vous souhaitez manipuler les robinets.
par exemple. Adopter le UIGestureRecognizerDelegate protocole dans votre en-tête.
OriginalL'auteur Jamie
Vous pouvez choisir le récepteur de la
UITapGestureRecognizer
, il n'a pas à être de la même classe que instancié de la reconnaissance (c'est à direself
). Si vous créez dans votreWelcomeViewConroller
, vous pouvez sélectionner une sous-vue de recevoir les événements:La sous-vue qui permettra de répondre à la tap(s).
Mais je n'arrive pas à obtenir que cela fonctionne
OriginalL'auteur Evan Mulawski
Je pense que vous pouvez avoir le même problème que j'ai vécu. Lorsque vous appelez [yourCustomView addGestureRecognizer:tapRecognizer]; vous avez besoin de référence par l'intermédiaire d'une UIView * donc dans votre exemple
essayez:
espère que cette aide.
OriginalL'auteur kevj
Veuillez vérifier
view.userInteractionEnabled=true;
oui, Il est par défaut,
OriginalL'auteur Raees Valapuram Madathil