对于 OTP 文本字段,我已将 textContentType 设置为 oneTimeCode
if #available(iOS 12.0, *) {
otpTextField.textContentType = .oneTimeCode
}
Run Code Online (Sandbox Code Playgroud)
现在,当我们收到 OTP 时,iOS 会为所有键盘类型设置为数字键盘的文本字段显示 OTP,例如)安全令牌、邮政编码等。
应用程序应该只为 textContentType 为 oneTimeCode 的文本字段填充 OTP,而不是应用程序中的所有文本字段。
如何为特定文本字段启用/禁用 oneTimeCode?
我尝试了各种内容类型以防止在键盘上建议 OTP,最后这个有效
if #available(iOS 12.0, *) {
textField.textContentType = .username
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下, UITextField 正在捕获一个引脚,并且还具有
keyboardType = .numberPad
Run Code Online (Sandbox Code Playgroud)
虽然这可能没什么区别