微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift UITextField .oneTimeCode自动填充不起作用

如何解决Swift UITextField .oneTimeCode自动填充不起作用

我正在尝试为iOS上的短信代码实现一次性代码功能

从我们发送的消息中,例如“代码:8737”,数字代码例如“ 8737”显示键盘的正上方,但是在点击该代码时,不会自动插入文本字段中。

我创建了一个简单的文本字段,除了

textField = UITextField()

if #available(iOS 12.0,*) {
   textField.keyboardType = .default
   textField.textContentType = .oneTimeCode
   textField.delegate = self
} else {
   // Fallback on earlier versions
}

我实现了委托

func textField(_ textField: UITextField,shouldChangeCharactersIn range: NSRange,replacementString string: String) -> Bool {
    return true
}

它是ViewController上唯一的文本字段,并直接添加到其视图中,当它出现时,我调用了它成为beginFirstResponder。

问题一: 有没有办法使用由数字和字母(例如“ AB837”)混合而成的代码?我已经尝试了所有短语,例如“密码:****”和“代码:****”,但添加字母后都无效。

问题二: 怎么办?自动填充到文本字段不起作用?

我点击键盘上方显示代码,并且也调用了委托方法,但是该代码在委托方法的任何变量或剪贴板中均不可用。

default textfield

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。