iOS 12 OTP 键盘建议
iOS 12 OTP keyboard suggestion
我正在尝试将一次性代码从 SMS 传输到键盘上方的字段,如图所示。
但由于某种原因,键盘上方的字段没有显示。
代码:self.valueTextField.textContentType = UITextContentTypeOneTimeCode;
UI 层次结构:
+UI查看
- CustomContentView
- UIImageView
- UITextField - valueTextField
- UITextFieldContentView
我已经阅读了这些材料:soQuestion and apple docs,我看到了一个警告:
If you use a custom input view for a security code input text field, iOS cannot display the necessary AutoFill UI.
...但是我不明白自定义输入视图是什么意思。
我还有 UITextField 的类别。会不会影响工作?
我很乐意提供任何想法,谢谢!
好的。这是我能查到的。关于代码,我上面描述的就够了。不需要在客户端上进行其他设置。但是您需要注意短信的文本。例如,我附上了两条消息。
在第一条消息中,我们的代码被系统定义为一个phone数字。如果我们点击它,我们甚至可以调用它。但是为什么我们需要调用一次性代码呢? :)
在第二张图中,代码被定义为一次性的,正是我们所需要的。如果我们点击它,系统会提出将其复制到剪贴板。
有什么区别?不幸的是,在 SMS 中解析文本的规则并不完全清楚。但我们可以通过以下方式检查您的文本:
如果您将 属性 textContentType
设置为您的文本字段但没有任何效果,您首先需要检查的是操作系统是否正确确定了代码。为此,只需转到消息应用程序并检查代码:
- 带下划线的蓝色字体颜色 - 系统无法识别
一次性代码。
- 带有灰色下划线的黑色字体颜色(默认)- 没关系!
最后,对于第一种情况,您应该检查邮件正文中是否有错误字符的内容。
PS 仅举几个正确和错误短信的例子:
- 短信代码:12345 英镑正确
- 短信代码:12345 $ 正确
- 短信代码:12345 № 正确
- 短信代码 №1:12345 不正确
我被 "Autofill PAsswords" 在 phone 上关闭的事实弄糊涂了。
似乎需要打开此功能才能正常工作。
我正在尝试将一次性代码从 SMS 传输到键盘上方的字段,如图所示。
但由于某种原因,键盘上方的字段没有显示。
代码:self.valueTextField.textContentType = UITextContentTypeOneTimeCode;
UI 层次结构:
+UI查看
- CustomContentView
- UIImageView
- UITextField - valueTextField
- UITextFieldContentView
我已经阅读了这些材料:soQuestion and apple docs,我看到了一个警告:
If you use a custom input view for a security code input text field, iOS cannot display the necessary AutoFill UI.
...但是我不明白自定义输入视图是什么意思。
我还有 UITextField 的类别。会不会影响工作?
我很乐意提供任何想法,谢谢!
好的。这是我能查到的。关于代码,我上面描述的就够了。不需要在客户端上进行其他设置。但是您需要注意短信的文本。例如,我附上了两条消息。
有什么区别?不幸的是,在 SMS 中解析文本的规则并不完全清楚。但我们可以通过以下方式检查您的文本:
如果您将 属性 textContentType
设置为您的文本字段但没有任何效果,您首先需要检查的是操作系统是否正确确定了代码。为此,只需转到消息应用程序并检查代码:
- 带下划线的蓝色字体颜色 - 系统无法识别 一次性代码。
- 带有灰色下划线的黑色字体颜色(默认)- 没关系!
最后,对于第一种情况,您应该检查邮件正文中是否有错误字符的内容。
PS 仅举几个正确和错误短信的例子:
- 短信代码:12345 英镑正确
- 短信代码:12345 $ 正确
- 短信代码:12345 № 正确
- 短信代码 №1:12345 不正确
我被 "Autofill PAsswords" 在 phone 上关闭的事实弄糊涂了。 似乎需要打开此功能才能正常工作。