J'ai un champ de texte qui cache le clavier lorsque je touche quelque part ailleurs sur l'écran (via ma fonction TouchesBegan et démissionner ... blah). Mais quand je touche une Textview, le TouchesBegan n'est pas invoqué et le clavier ne se cache pas! Est-il possible d'invoquer TouchesBegan pour cacher le clavier?Iphone Textview n'invoque pas TouchesBegan
Répondre
Il existe également un moyen facile de masquer le clavier sur touchesBegan: lorsque vous utilisez UITextView pour entrer les données. Étape 1. Assurez-vous d'avoir étendu Textviewdelegate pendant la déclaration de classe.
@interface YourClassName: UIViewController { IBOutlet UITextView * txtMyView; }
étape 2. définir le délégué à la fonction de chargement automatique.
- (void)viewDidLoad
{
txtMyView.delegate = self;
}
étape 3. écrivez le code similaire dans la fonction touchesbegan avec votre nom textView.
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[txtMyView resignFirstResponder];
[super touchesBegan:touches withEvent:event];
}
Merci et salutations.
J'ai essayé cette méthode mais mon textview n'a jamais appelé touchesBegan ... seulement en touchant les étiquettes/espace vide les touches ont commencé à fonctionner: O. – Exegesis
La meilleure méthode que j'ai vu pour cela est d'ajouter une sous-vue transparente qui recouvre la vue de texte et gère le TouchesBegan en premier. Vous pouvez ensuite détecter les touches situées en dehors du champ de texte et fermer le clavier en faisant en sorte que le champ de texte soit résilié en tant que premier répondeur. Par exemple, créez la sous-vue de surimpression dans IB ou par programme, de toute façon. Placez-le et taillez-le de sorte qu'il couvre la (les) vue (s) de texte et donnez-lui une couleur claire. Si vous ajoutez la vue par IB, cacher lorsque vos principales charges de vue afin qu'il n'absorbe pas touche juste encore, comme ceci:
- (void)viewDidLoad
{
[super viewDidLoad];
overView.hidden = YES;
}
Ensuite, lorsque le champ de texte commence l'édition, réafficher la vue:
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
overView.hidden = NO;
}
lorsque le champ de texte se termine l'édition, la vue masquez à nouveau:
- (void)textFieldDidEndEditing:(UITextField *)textField
{
overView.hidden = YES;
}
Ajouter un touchesBegan pour détecter lorsque votre unhidden est touché vUE d'ENSEMBLE:
Vous pouvez également le faire par le biais de gestes personnalisés, mais cela ne fonctionne qu'avec iOS 4.x et, à mon avis, est plus compliqué.
Je suppose que votre UITextView n'est pas modifiable car vous ne voulez pas que le clavier apparaisse lorsque vous le touchez, alors assurez-vous dans les propriétés de View pour votre UITextView que "User Interaction Enabled" n'est pas cochée. Vous pouvez également écrire dans votre ViewController en tant que tel:
textView.userInteractionEnabled = NO;
Cela permettra événements utilisateur de passer à travers la superview et touchesBegan et les autres méthodes de délégués sera appelé.
'userInteractionEnabled = false' ne fonctionne pas pour moi –
- 1. iphone touchesbegan
- 2. Nouveau sur iPhone SDK: touchesBegan pas appelé
- 3. touchesBegan question dans iphone sdk?
- 4. touchesBegan ne répond pas
- 5. textview ne répond pas aux délégués iphone
- 6. Sous-classe UIViewController ne recevant pas de touchesBegan iphone ipad
- 7. clavier iphone sans textview
- 8. UIView touchesbegan ne répond pas pendant l'animation
- 9. UIScrollView touchesBegan
- 10. touchesBegan seulement dans UIView spécifique
- 11. push view when touchesBegan
- 12. implémenter touchesBegan pour UITextField
- 13. vues modales et touchesBegan
- 14. touchesBegan convertit en ccTouchesBegan?
- 15. touchesBegan sur le ViewController
- 16. android n'affiche pas "" dans TextView?
- 17. TextView comment?
- 18. Je ne peux pas voir la propriété UIImageView inside touchesBegan
- 19. touchtouchEnded ne reçoit pas d'appel après touchesBegan et touchMoved
- 20. Iphone: combinaison de l'aide de défilement PageControl et TextView
- 21. TextView couleur ne change pas Cliquez
- 22. Mon TextView n'apparaît pas aligné à droite
- 23. HelloAndroid ne montre pas mon TextView contrôle
- 24. Android: textView n'affiche pas le curseur
- 25. Cellules iphone tableview avec texte personnalisé - obtenir la référence textview
- 26. IPhone: Sélectionner tout le texte dans un textview
- 27. iPhone TableView au-dessus d'un TextView: TableView ne répond pas aux événements
- 28. TouchesBegan et TouchesEnded avec le numéro Multitouch
- 29. Android TextView
- 30. textView chapiteau
Vous souhaitez masquer le clavier lorsque l'utilisateur appuie sur l'ensemble de l'écran avec le texteFichier? –