Est-il possible de changer par programme le type de clavier d'un uitextfield afin que quelque chose comme ça soit possible:
if(user is prompted for numeric input only)
[textField setKeyboardType: @"Number Pad"];
if(user is prompted for alphanumeric input)
[textField setKeyboardType: @"Default"];
iphone
ios
uitextfield
uikeyboard
eric.mitchell
la source
la source
doozy
par quelque chose de plus compréhensible. Gardez à l'esprit que SO est un site international et non nord-américainRéponses:
Il y a une
keyboardType
propriété pour unUITextField
:Votre code doit lire
la source
UITextInputTraits
protocole, quiUITextField
adopte.Il convient de noter que si vous souhaitez qu'un champ actuellement ciblé mette à jour immédiatement le type de clavier, il y a une étape supplémentaire:
Sans l'appel à
reloadInputViews
, le clavier ne changera pas jusqu'à ce que le champ sélectionné (le premier répondeur ) perde et retrouve le focus.Une liste complète des
UIKeyboardType
valeurs peut être trouvée ici , ou:la source
[textField reloadInputViews];
que je manquais. Merci!reloadInputViews
fonctionne également pour lesUITextInput
implémentations sur mesure .Oui, vous pouvez, par exemple:
la source
C'est pour rapide. De plus, pour que cela fonctionne correctement, il doit être réglé après le
textFieldView.delegate = self
la source
pour que le champ de texte accepte uniquement les caractères alphanumériques, définissez cette propriété
la source
la source
Swift 4
Si vous essayez de changer votre type de clavier lorsqu'une condition est remplie, suivez ceci. Par exemple: si nous voulons changer le type de clavier de Par défaut à Pavé numérique lorsque le nombre du champ de texte est 4 ou 5, procédez comme suit:
la source
Il y a une propriété pour cela appelée
keyboardType
. Ce que vous voudrez faire est de remplacer où vous avez des chaînes@"Number Pad
et@"Default
parUIKeyboardTypeNumberPad
etUIKeyboardTypeDefault
.Votre nouveau code devrait ressembler à ceci:
Bonne chance!
la source
pour les personnes qui souhaitent utiliser
UIDatePicker
comme entrée:la source
Voici le
UIKeyboardTypes
pour Swift 3:Voici un exemple d'utilisation d'un type de clavier de la liste:
la source
Changer par programme le type de clavier UITextField Swift 3.0
la source
Voici le type de clavier dans Swift 4.2
la source