Je ne peux pas croire que cette question n’a pas encore été posée, mais j’ai été incapable de la trouver. C’est ce que je suppose.
J'ai créé des sous-classes UITableViewCel
l personnalisées à l'aide d'Interface Builder. Celles-ci contiennent chacune une UILabel
et une UITextField
et sont utilisées pour notre écran de connexion.
Sur la première UITextField
, je veux que la touche du clavier dise Next
. Cependant, à la deuxième UITextField
, je veux que le message "Terminé".
Comment modifier par programme la valeur de Return Key
sur le clavier? Je ne peux pas utiliser Interface Builder
, car cela ferait apparaître les deux clés sous la forme Done
.
Merci!
Pour la première UITextField
, lisez THIS tutoriel sur la création d’un bouton sur un clavier. Vous pouvez apprendre la logique à partir de là et utiliser un bouton Next
au lieu du bouton Done
.
//if you just want to make it appear NEXT//
textField.returnKeyType = UIReturnKeyNext;
Et pour la seconde UITextField
, utilisez ...
// for DONE //
textField.returnKeyType = UIReturnKeyDone;
En général, vous pouvez créer et renommer le bouton, et vous assurer que vous donnez la bonne variable IBAction
lors de l’appui de ce bouton. Si vous créez votre propre bouton personnalisé, consultez le didacticiel ci-dessus pour savoir comment le placer aux bonnes coordonnées.
Cela peut également être fait en définissant la propriété dans un fichier .xib. Vous devez simplement définir la propriété Return Key
de UITextField
sur Next
sous Attribute Inspector
.
vous devez appeler [textView reloadInputViews];
après avoir défini le type de touche de retour pour mettre à jour l'apparence de la touche de retour du clavier immédiatement.
FAITES-LE COMME FLLOW:
textView.returnKeyType = UIReturnKeyDone;
[textView reloadInputViews];
Dans Swift 4, le code suivant peut être utilisé pour remplacer le "bouton de retour" sur le clavier par "bouton de recherche" ou "bouton terminé":
yourTextField.returnKeyType = UIReturnKeyType.search
yourTextField.returnKeyType = UIReturnKeyType.done