В одном из наших приложений iOS / iPhone нам необходимо отображать настроенные адреса электронной почты пользователя в качестве подсказок при регистрации. Существует несколько приложений, которые отображают адреса электронной почты в виде фиксированных кнопок в представлении ввода с клавиатуры. Например, приложение Yelp (iPhone 8 с iOS 13.4)
Я не мог понять, как включить эту функцию с помощью встроенного средства. Я попытался установить для textContentType, keyboardType и autocorrectionType правильные значения, как описано в других статьях по переполнению стека, которые я мог найти об этой топи c.
Это мой код
override func viewDidLoad() {
super.viewDidLoad()
let email = UITextField(frame: CGRect(x: 10, y: 60, width: 300, height: 40))
email.placeholder = "Enter email address here"
email.font = UIFont.systemFont(ofSize: 15)
email.borderStyle = UITextField.BorderStyle.roundedRect
email.clearButtonMode = UITextField.ViewMode.whileEditing
email.contentVerticalAlignment = UIControl.ContentVerticalAlignment.center
email.returnKeyType = .continue
email.keyboardType = .emailAddress
email.textContentType = .emailAddress
email.autocorrectionType = .yes
email.autocapitalizationType = .none
view.addSubview(email)
}
И Вот как это выглядит на том же iPhone 8 с iOS 13,4, на котором я запускал приложение Yelp:
Нет электронной почты адреса предложения.
Любопытно, что одно и то же приложение, работающее на моем iPad, показывает предложения, но по-другому:
Как я могу отображать адреса электронной почты пользователя так же, как это делает Yelp? Нужно ли мне использовать специальное представление UITextField или есть другой способ получить адреса электронной почты и отобразить их в пользовательском текстовом дополнительном представлении?
Спасибо за вашу помощь!