Événement tactile sur UIView
Quelqu'un a une exemple de code pour la détection de la touche de créer dynamiquement des UIView? J'ai trouvé quelques références à touchesBegan mais impossible de trouver comment le mettre en œuvre...
Vous devez vous connecter pour publier un commentaire.
Une manière très générale pour obtenir des touches est pour remplacer ces méthodes dans une coutume UIView sous-classe:
Officiel de docs pour ces méthodes est sous de Répondre à Toucher les Événements dans le UIResponder classe docs (UIView hérite de ces méthodes car c'est une sous-classe de UIResponder). Plus long et plus d'introduction docs peuvent être trouvés dans la La gestion des événements de Guide pour iOS.
Si vous voulez juste pour détecter un appuyez sur (touche vers le bas, puis touchez-up au sein de votre point de vue), il est plus facile d'ajouter un
UIButton
comme une sous-vue de votre point de vue, et ajouter votre propre méthode comme une cible d'action/la paire pour ce bouton. Boutons personnalisés sont invisibles par défaut, donc il ne serait pas affecter l'apparence de votre point de vue.Si vous êtes à la recherche pour plus d'interactions avancées, il est également bon de savoir sur le
UIGestureRecognizer
de la classe.Créer d'événement tactile avec UIAnimation sur UIView , vous pouvez gérer touche UIView n'importe où .
Code suivant : ici même.finalScore est une UIView , et la coupe est une UIImageView . J'ai poignée
l'événement tactile sur UIImageView , il présente à l'intérieur de la UIView .
Comme UITapGestureRecognizer est une autre façon de gérer les événements tactiles sur UIView ....
UITapGestureRecognizer *touchOnView = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(releaseButAction:)] autorelease];
et la méthode serait alors- (void)releaseButAction:(UIGestureRecognizer *)gestureRecognizer
.. juste pour info!Créer votre propre
UIView
à partir d'une sous-classe que vous avez créé en héritantUIView
et de redéfinir la méthode suivante à l'intérieur de la sous-classe,Avec guesture recongnizer, il est plus facile d'attraper les événements tactiles.
Trouver un guested à partir d'une bibliothèque de composants dans le storyboard:
Par exemple, faites glisser Tapez sur un Geste de Reconnaissance à votre vue. Il n'est pas affichée dans la vue de l'INTERFACE utilisateur. Vous pouvez trouver à partir de plan du Document dans le panneau de gauche dans le Storyboard:
L'étape finale consiste à lier (par glisser) à la vue en tant que délégué, où le toucher est suivi, de contrôle et de glisser à votre vue-contrôleur de classe comme une action. Voici la photo du lien de connexions.
et code action:
Au lieu de capturer touch à l'aide de geste, je vous suggère de changer de UIView classe mère de UIControl, de sorte qu'il peut gérer touchUpInside événement
À partir de:
À:
puis ajoutez cette ligne de vue-
Parce que le geste peut créer problème pendant le défilement.
Ma méthode est tout simplement modifier la
UIView
àUIControl
classe dans InterfaceBuilder IdentityInspector, puis le ConnectionsInspector aurez l'événement tactile prêt pour le crochet.zéro modifications de code.