密码自动填充在 swift 中不起作用
Password autofill is not working in swift
有 6 个文本字段接受 otp(一次性密码)。但是当我获取 otp 并尝试在 UITextField 上自动填充密码时,只有最后 4 个填充使用 otp。但不是所有领域。
我附上了屏幕截图
这里我已经把所有的textContentType都变成了.oneTimeCode
如何解决这个问题,请帮助。
https://i.stack.imgur.com/kkIuQ.jpg
尝试按顺序命名您的文本字段 txt1 txt2 txt3 txt4 tt5 txt6
override func viewDidLoad() {
super.viewDidLoad()
txt1.becomeFirstResponder()
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if ((textField.text?.count)! < 1 ) && (string.count > 0) {
if textField == txt1 {
txt2.becomeFirstResponder()
}
if textField == txt2 {
txt3.becomeFirstResponder()
}
if textField == txt3 {
txt4.becomeFirstResponder()
}
if textField == txt4 {
txt5.becomeFirstResponder()
}
if textField == txt5 {
txt6.becomeFirstResponder()
}
if textField == txt6{
txt6.becomeFirstResponder()
}
textField.text = string
return false
} else if ((textField.text?.count)! >= 1) && (string.count == 0) {
if textField == txt2 {
txt1.becomeFirstResponder()
}
if textField == txt3 {
txt2.becomeFirstResponder()
}
if textField == txt4 {
txt3.becomeFirstResponder()
}
if textField == txt5 {
txt4.becomeFirstResponder()
}
if textField == txt6 {
txt5.becomeFirstResponder()
}
if textField == txt1{
txt6.resignFirstResponder()
}
textField.text = ""
return false
} else if (textField.text?.count)! >= 1 {
textField.text = string
return false
}
return true
}
快乐编码
试试这个自动填充文本字段
txtOTP.textContentType = .oneTimeCode
有 6 个文本字段接受 otp(一次性密码)。但是当我获取 otp 并尝试在 UITextField 上自动填充密码时,只有最后 4 个填充使用 otp。但不是所有领域。 我附上了屏幕截图
这里我已经把所有的textContentType都变成了.oneTimeCode 如何解决这个问题,请帮助。
https://i.stack.imgur.com/kkIuQ.jpg
尝试按顺序命名您的文本字段 txt1 txt2 txt3 txt4 tt5 txt6
override func viewDidLoad() {
super.viewDidLoad()
txt1.becomeFirstResponder()
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if ((textField.text?.count)! < 1 ) && (string.count > 0) {
if textField == txt1 {
txt2.becomeFirstResponder()
}
if textField == txt2 {
txt3.becomeFirstResponder()
}
if textField == txt3 {
txt4.becomeFirstResponder()
}
if textField == txt4 {
txt5.becomeFirstResponder()
}
if textField == txt5 {
txt6.becomeFirstResponder()
}
if textField == txt6{
txt6.becomeFirstResponder()
}
textField.text = string
return false
} else if ((textField.text?.count)! >= 1) && (string.count == 0) {
if textField == txt2 {
txt1.becomeFirstResponder()
}
if textField == txt3 {
txt2.becomeFirstResponder()
}
if textField == txt4 {
txt3.becomeFirstResponder()
}
if textField == txt5 {
txt4.becomeFirstResponder()
}
if textField == txt6 {
txt5.becomeFirstResponder()
}
if textField == txt1{
txt6.resignFirstResponder()
}
textField.text = ""
return false
} else if (textField.text?.count)! >= 1 {
textField.text = string
return false
}
return true
}
快乐编码
试试这个自动填充文本字段
txtOTP.textContentType = .oneTimeCode