Comment faire UITextView détecter un robinet?
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"touchesBegan");
//test
UITouch *touch = [event allTouches] anyObject];
if ([touch tapCount] == 2) {
NSLog (@"tapcount 2");
[self.textview becomeFirstResponder];
}
else if ([touch tapCount] == 1) {
NSLog (@"tapcount 1");
[self.textview becomeFirstResponder];
[self.view performSelector:@selector(select:)];
}
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
[super touchesBegan:touches withEvent:event];
NSLog(@"touchesMoved");
}
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"****touchesEnded");
[self.nextResponder touchesEnded: touches withEvent:event];
NSLog(@"****touchesEnded");
[super touchesEnded:touches withEvent:event];
NSLog(@"****touchesEnded");
}
- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event{
[super touchesCancelled:touches withEvent:event];
NSLog(@"touchesCancelled");
}
MA QUESTION:
Je veux simuler deux robinets lorsque vous appuyez une fois sur une UITextView
qui est textview dans le présent code. Mais je n'ai pas NSLog de l'un et de deux robinets quand je me tape une ou deux fois sur textview, seulement en dehors d'elle. Que dois-je faire pour le faire fonctionner?
source d'informationauteur wagashi
Vous devez vous connecter pour publier un commentaire.
Probablement je voudrais utiliser deux geste des modules de reconnaissance ici.
Et les sélecteurs serait juste comme:
J'ai eu le même problème et les autres réponses ne fonctionne pas pour moi. C'est donc ce que j'ai fait.
Je joint le geste comme une autre réponse suggérée. Ensuite, j'ai fait en sorte que le délégué de la méthode de sélection a été appelé. Je l'ai fait essayer, il suffit de sélectionner la cellule, mais qui n'a pas de feu, la méthode du délégué. Je crois que seules les interactions de l'utilisateur provoquent de la méthode du délégué à être appelé, donc ce code imite le comportement.
https://gist.github.com/brennanMKE/e89bf7a28d96812d6a22
J'ai rencontré un problème similaire où je voulais capturer un tap sur un textView sans modifier le texte de base.
Cette réponse est pour Swift 3.0.
Pour ma solution, j'ai mis en place le textView délégué méthode textViewShouldBeginEditing et retourné false pour la valeur. Cela me permet de capturer des tapes dans le textView sans aucune charge supplémentaire.
Juste être sûr d'attribuer le textView pour utiliser le délégué dans votre ViewController classe.