После обновления до iOS 13 предложение (электронная почта, номер телефона, имя ...) для UITextField не появляется над клавиатурой

11

После обновления устройства до iOS 13 предложите ввести inputField (UITextField). Как электронная почта, номер телефона, имя, фамилия больше не отображаются над клавиатурой. Первое изображение iOS 12.4.1 предложило электронную почту, второе изображение iOS 13.1.2 не имеет никаких предложений. То же демонстрационное приложение построено с использованием xCode версии 11.0 (11A419c) на iPhone 7 iOS 12.4.1 (первое изображение, работает должным образом). iPhone 7 iOS 13.1.2 (второе изображение, у вас нет предложений над клавиатурой) Я протестировал, добавив textContentType в раскадровку, а также непосредственно добавив следующую строку в коде.

email.textContentType = .emailAddress

На iOS 12.4.1 вечно работает как положено

а также

iOS 13.1.2 не показывает предложение

Стефан Симич
источник
Версия XCode?
Лал Кришна

Ответы:

11

Так что для iOS 13 (или выше) я заметил, что установка следующих свойств заставляет iPhone предлагать вам все данные:

Для электронной почты убедитесь, что установлены все эти три свойства:

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

Для имени и фамилии:

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

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

Для номера телефона это немного сложно:

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

Также убедитесь, что Predictive in Keyboards Setting устройства включен . Если он не работает сразу, выключите его, подождите несколько секунд, а затем снова включите, и бум снова заработает .

Надеюсь, поможет!

Судханшу Вохра
источник
Для имен и телефонных номеров вы можете установить "keyboardType" в ".namePhonePad"
Neil