web-dev-qa-db-fra.com

Comment définir par programme la clé de retour pour un UITextField particulier?

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 UITableViewCell 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!

40
TigerTrussell

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. 

82
Legolas

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.

2
vaishali

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];

1
Quanhua Guan

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
0
Mahyar