我有一个带有文本字段的注册屏幕,用于输入我希望禁用自动更正的电子邮件。当我将 attributedPlaceholder 文本留空时,自动更正被禁用。但是,只要我将 attributedPlaceholder 文本更改为“输入电子邮件”,自动更正功能就会被忽略,Apple 会在建议中显示“隐藏我的电子邮件”选项。当点击“隐藏我的电子邮件”时,文字字符串“隐藏我的电子邮件”被输入到文本字段中,就像它是一个正常的建议一样。
相关代码如下:
let textField = UITextField()
textField.translatesAutoresizingMaskIntoConstraints = false
textField.attributedPlaceholder = NSAttributedString(string: "Enter email")
textField.autocapitalizationType = .none
textField.autocorrectionType = .no
textField.keyboardType = .asciiCapable
return textField
我试过将 autocorrectionType 属性设置为 .no,但这似乎没有任何效果。如何覆盖此行为并防止出现“隐藏我的电子邮件”建议?
似乎我可以通过使用以下文本字段属性获得我想要的行为:
textField.autocapitalizationType = .none
textField.autocorrectionType = .no
textField.textContentType = .oneTimeCode
textField.keyboardType = .emailAddress
似乎有点老套,如果我在这里遗漏了什么,我会很感兴趣。