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 (将#修改为@)