【发布时间】:2020-07-15 06:54:39
【问题描述】:
在我们的一个 iOS / iPhone 应用程序中,我们需要在注册过程中显示用户配置的电子邮件地址作为建议。有几个应用程序将电子邮件地址显示为键盘输入附件视图中的固定按钮。例如 Yelp 应用程序(带有 iOS 13.4 的 iPhone 8)
我无法弄清楚如何使用内置方式启用此功能。我尝试将 textContentType、keyboardType 和 autocorrectionType 设置为正确的值,如我可以找到的有关此主题的其他堆栈溢出文章中所述。
这是我的代码
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)
}
这就是我在运行 Yelp 应用程序时在装有 iOS 13.4 的 iPhone 8 上的样子:
没有电子邮件地址建议。
奇怪的是,在我的 iPad 上运行的同一个应用程序会以不同的方式显示建议:
如何以与 Yelp 相同的方式显示用户的电子邮件地址?是否有我必须使用的特殊 UITextField 视图,或者是否有其他方法可以获取电子邮件地址并将其显示在自定义文本附件视图中?
感谢您的帮助!
【问题讨论】:
-
阅读此答案的最后两个 cmets:stackoverflow.com/a/47282004/2660952 以及这些苹果论坛主题:forums.developer.apple.com/thread/123561 和 forums.developer.apple.com/thread/120703 那里可能有一些变化/问题iOS 13,尽管其他人似乎想让它在这个版本上运行......
-
我刚刚检查了你的代码,它的工作就像一个魅力!它会在键盘顶部显示我的电子邮件地址。
标签: ios swift uitextfield inputaccessoryview email-address