Cliquer dans un champ de texte fait apparaître le clavier. Comment le masquer lorsque l'utilisateur appuie sur la touche retour?
148
Cliquer dans un champ de texte fait apparaître le clavier. Comment le masquer lorsque l'utilisateur appuie sur la touche retour?
Réponses:
Commencez par créer votre fichier délégué pour UITextField
Ajoutez ensuite cette méthode à votre code.
Ajoutez également
self.textField.delegate = self;
la source
Dans
viewDidLoad
déclarer:[yourTextField setDelegate:self];
Ensuite, incluez le remplacement de la méthode déléguée:
la source
setDelegate:
rappel. J'avais définitivement oublié et le code ne fonctionnait pas auparavant.Essayez ceci dans Swift ,
Étape 1: définir le délégué comme vous-même à votre
textField
Étape 2: ajoutez ce UITextFieldDelegate sous votre déclaration de classe,
la source
En swift, faites comme ceci:
D'abord dans votre
ViewController
implémentation,UITextFieldDelegate
par exemple.Ajoutez maintenant un délégué à un
TextField
dans lequel vous souhaitez ignorer le clavier lorsque le retour est tapé dans laviewDidLoad
méthode comme ci-dessous ou à l'endroit où vous l'initialisez. Pour par exemple.Maintenant, ajoutez cette méthode.
la source
Essaye ça,
Ensuite, dans la méthode déléguée textField
la source
set delegate of
UITextField
, and over ride,textFieldShouldReturn
method, dans cette méthode, écrivez simplement les deux lignes suivantes:c'est tout. Avant d'écrire un code, n'oubliez pas de définir le délégué de a
UITextField
et de définir le type de touche Retour sur "Terminé" dans la fenêtre des propriétés (commande + Maj + I).la source
Vous pouvez connecter "Primary Action Triggered" (clic droit sur UITextField) avec un IBAction et vous pouvez démissionner du premier répondeur (sans délégation). Exemple (Swift 4):
la source
Swift 4
Définissez le délégué du
UITextField
contrôleur de vue,,field.delegate = self
puis:la source
Si vous souhaitez masquer le clavier pour une utilisation particulière du clavier
[self.view resignFirstResponder];
Si vous souhaitez masquer un clavier de la vue, utilisez[self.view endEditing:true];
la source
Utilisez ceci
la source
Ok, je pense que pour un novice, les choses peuvent être un peu déroutantes. Je pense que la bonne réponse est un mélange de tout ce qui précède, du moins dans Swift4.
Créez une extension ou utilisez le ViewController dans lequel vous souhaitez l'utiliser, mais assurez-vous d'implémenter UITextFieldDelegate. Pour des raisons de réutilisation, j'ai trouvé plus facile d'utiliser une extension:
Ajoutez la méthode textFieldShouldReturn (en fonction de votre option précédente, soit dans l'extension ou dans votre ViewController)
Dans votre méthode viewDidLoad, définissez le délégué du champ de texte sur self
Cela devrait être tout. Maintenant, lorsque vous appuyez sur
return
letextFieldShouldReturn
devrait être appelé.la source
Définissez cette classe, puis définissez votre champ de texte pour utiliser la classe et cela automatise tout le clavier de masquage lorsque le retour est appuyé automatiquement.
Ensuite, tout ce que vous avez à faire dans le storyboard est de définir les champs pour utiliser la classe:
la source