Je sais que je dois indiquer à mon UITextField de renvoyer le premier intervenant lorsque je veux désactiver le clavier, mais je ne sais pas comment savoir si l'utilisateur a appuyé sur la touche "Done" du clavier. Existe-t-il une notification que je peux surveiller ?
Réponses
Trop de publicités?
Vineesh TP
Points
1658
jake
Points
1
//====================================================
// textFieldShouldReturn:
//====================================================
-(BOOL) textFieldShouldReturn:(UITextField*) textField {
[textField resignFirstResponder];
if(textField.returnKeyType != UIReturnKeyDone){
[[textField.superview viewWithTag: self.nextTextField] becomeFirstResponder];
}
return YES;
}
Prakhar Prakash Bhardwaj
Points
121
C'est ainsi que j'écarte le clavier dans Swift 4.2 et cela fonctionne pour moi :
override func viewDidLoad() {
super.viewDidLoad()
let tap = UITapGestureRecognizer(target: self, action:
#selector(dismissKeyboard))
view.addGestureRecognizer(tap)
}
@objc func dismissKeyboard (_ sender: UITapGestureRecognizer) {
numberField.resignFirstResponder()
}
pooja_chaudhary
Points
22
chandru
Points
142
Si vous avez créé la vue à l'aide de l'Interface Builder, procédez comme suit Créez simplement une méthode,
-(IBAction)dismissKeyboard:(id)sender
{
[sender resignFirstResponder];
}
Il suffit de cliquer avec le bouton droit de la souris sur le champ de texte dans la vue, de définir l'événement comme "Did End on Exit" et de le relier à la méthode "dismissKeyboard".
T "Head First iPhone and iPad Development, 2e édition" (en anglais)
2 votes
[self.view endEditing:YES] ; en touches commence le délégué est la meilleure solution