首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何启用/禁用特定文本字段的OneTimeCode功能?

如何启用/禁用特定文本字段的OneTimeCode功能?
EN

Stack Overflow用户
提问于 2020-04-29 13:46:37
回答 4查看 2.4K关注 0票数 5

对于动态口令文本字段,我已经将textContentType设置为oneTimeCode

代码语言:javascript
复制
if #available(iOS 12.0, *) {
     otpTextField.textContentType = .oneTimeCode
}    

现在,当我们收到动态口令时,iOS会显示键盘类型设置为numberPad的所有文本字段的动态口令,例如)安全令牌、邮政编码等。

应用程序应该只为文本字段填充动态口令,其中textContentType为oneTimeCode,而不是应用程序中的所有文本字段。

如何对特定文本字段启用/禁用oneTimeCode?

EN

回答 4

Stack Overflow用户

发布于 2020-10-23 16:59:58

我尝试了各种内容类型,以防止在键盘上建议使用OTP,最后这一种方法起作用了

代码语言:javascript
复制
if #available(iOS 12.0, *) {
    textField.textContentType = .username
}

在这种情况下,UITextField正在捕获引脚,并且还具有

代码语言:javascript
复制
keyboardType = .numberPad

尽管这可能不会有什么不同

票数 6
EN

Stack Overflow用户

发布于 2020-04-29 14:04:29

您需要将UITextField中的textContentType属性更改为以下类型之一:

如果您在所有textFields上都启用了此代码,这意味着此textFields的输入类型是上面支持的列表中的一个。所以要确保textFields中有正确的textContentType

注意:

  • 如果对安全代码输入文本字段使用自定义输入视图,iOS将无法显示必要的AutoFill UI ((c) Apple)。确保短消息中包含“copied.
  • available”或"passcode“,并且消息可以是来自iOS 12

Official docthis one的引用

票数 0
EN

Stack Overflow用户

发布于 2021-07-12 17:04:15

我的解决方案是禁用文本字段的自动更正:

代码语言:javascript
复制
textField.autocorrectionType = .no

如果需要自动更正且不需要动态口令建议,则必须显式定义textContentType属性选项。(您可以在此页面中找到这些选项:https://developer.apple.com/documentation/uikit/uitextcontenttype)。但是,如果这些选项都不符合您的字段语义,最好设置unspecified以避免错误的建议。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61495065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档