J'ai vu des discussions sur la façon de fermer le clavier lorsqu'un UITextField perd le focus, mais cela n'a pas fonctionné pour moi et je ne sais pas comment. Le "touchesBegan: withEvent:" dans le code suivant, ne sera jamais appelé. Pourquoi?Masquage du clavier lorsque UITextField perd le focus
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
if ([self.textFieldOnFocus isFirstResponder] && [touch view] != self.textFieldOnFocus) {
[textFieldOnFocus resignFirstResponder];
}
[super touchesBegan:touches withEvent:event];
}
P.S .: Ce code a été inséré dans le contrôleur de vue qui a un UITableView. UITextField se trouve dans une cellule de cette table. Donc, mon opinion est la suivante: cette méthode n'est pas appelée, parce que le toucher se produit sur l'UITableView de mon ViewController. Donc, je pense, que je devrais avoir à sous-classer UITableView, pour utiliser cette méthode comme je l'ai vu sur d'autres Threads, mais cela peut être plus facile.
Pourriez-vous s'il vous plaît aide-moi? Merci beaucoup!