Après la mise à jour vers la suggestion iOS 13 (email, numéro de téléphone, prénom…) pour UITextField n'apparaissent pas au-dessus du clavier


11

Après la mise à jour de l'appareil vers la suggestion d'entrée iOS 13 pour inputField (UITextField). Comme l'e-mail, le numéro de téléphone, le prénom, le nom de famille n'apparaissent plus au-dessus du clavier. La première image iOS 12.4.1 a suggéré un e-mail, la deuxième image iOS 13.1.2 n'a aucune suggestion. La même application de démonstration est construite avec xCode version 11.0 (11A419c) sur iPhone 7 iOS 12.4.1 (première image, fonctionne comme prévu). iPhone 7 iOS 13.1.2 (deuxième image, aucune suggestion au-dessus du clavier) J'ai testé en ajoutant textContentType dans le storyboard et en ajoutant directement la ligne suivante dans le code

email.textContentType = .emailAddress

Sur iOS 12.4.1, la conversion fonctionne comme prévu

et

iOS 13.1.2 n'affiche pas de suggestion


Version Xcode?
Lal Krishna

Réponses:


11

Donc, pour iOS 13 (ou supérieur), j'ai remarqué que la définition des propriétés suivantes permet à l'iPhone de vous suggérer toutes les données:

Pour le courrier électronique, assurez-vous que ces trois propriétés sont définies:

 emailField.autocorrectionType = .yes
 emailField.textContentType = .emailAddress
 emailField.keyboardType = .emailAddress

Pour le prénom et le nom:

firstNameField.autocorrectionType = .yes
firstNameField.textContentType = .givenName
firstNameField.keyboardType = .namePhonePad

lastNameField.autocorrectionType = .yes
lastNameField.textContentType = .familyName
lastNameField.keyboardType = .namePhonePad

Pour le numéro de téléphone, c'est un peu délicat:

phoneField.autocorrectionType = .yes
phoneField.textContentType = .telephoneNumber
phoneField.keyboardType = .numbersAndPunctuation

Assurez-vous également que l' option Prédictif dans les paramètres du clavier est activée . Si cela ne fonctionne pas immédiatement, éteignez-le, attendez quelques secondes, puis rallumez-le et boum, cela fonctionnera à nouveau.

J'espère que cela aide!


Pour les noms et les numéros de téléphone, vous pouvez définir "keyboardType" sur ".namePhonePad"
Neil
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.