UITapGestureRecognizer initWithTarget:action: méthode pour prendre des arguments?
Je suis en utilisant UITapGestureRecognizer
parce que je suis en utilisant un UIScrollView
qui agit comme un conteneur pour mon UILabel
s. Fondamentalement, je suis en train d'utiliser une méthode d'action avec des arguments, donc je peux par exemple envoyer myLabel.tag
valeur de l'action méthode pour connaître les mesures à prendre en fonction de ce UILabel a a été déclenchée par un robinet.
Une façon de le faire est d'avoir autant de méthodes d'action UILabel
s mais ce n'est pas très "joli" codewise. Ce que je souhaite réaliser est juste une méthode d'action avec des instructions de commutation.
Est-ce possible ou dois-je faire comme ceci (soupir):
UITapGestureRecognizer *myLabel1Tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myLabel1Tap)];
[myLabel1Tap addGestureRecognizer:myLabel1Tap];
UITapGestureRecognizer *myLabel2Tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myLabel2Tap)];
[myLabel1Tap addGestureRecognizer:myLabel2Tap];
UITapGestureRecognizer *myLabelNTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(myLabelNTap)];
[myLabel1Tap addGestureRecognizer:myLabelNTap];
- (void)myLabel1Tap {
//Perform action
}
- (void)myLabel2Tap {
//Perform action
}
- (void)myLabelNTap {
//Perform action
}
OriginalL'auteur Peter Warbo | 2011-07-08
Vous devez vous connecter pour publier un commentaire.
Ajouter un seul geste de reconnaissance à la vue qui est le superview de vos différents labels:
Puis quand vous manipulez du geste, de déterminer le type d'étiquette a été mis sur écoute:
OriginalL'auteur highlycaffeinated
Vous pouvez utiliser un seul
UITapGestureRecognizer
et dans votre geste de gestionnaire (votremyLaberXTap
), qui a la syntaxe:utilisation
gesture.view
de savoir quel point de vue vous travaillez sur.OriginalL'auteur sergio