我有textfield
,shouldChangeCharactersIn
代码使用条形码,系统和我的条形码代码== 12个字符。我想在我的字符串中只显示12个字符,如果条形码小12个字符或大字必须返回false或干净的文本字段。我的代码如下。当我使用条形码时,如果我的条形码12个字符工作正常,但如果我读了12个字符低,请不要清除文本字段,
我该如何解决?
我的代码如下。
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let length = (Mytext.text?.characters.count)! - range.length + string.characters.count
if length == 13 {
print("Mytext=\(Mytext.text!)")
Mytext.text = ""
return true
}else {
return true
}
}
读取时输出12个字符条形码显示成功! 当读取12个字符时,不要清除Mytext字段,当我再次阅读时添加+
答案 0 :(得分:2)
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if (string != "" && textField.text?.count == 12) {
print("Mytext = \(textField.text!)")
textField.text = ""
return false
}
return true
}
答案 1 :(得分:1)
您必须将替换字符串设置为“”空字符串
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let length = (Mytext.text?.characters.count)! - range.length + string.characters.count
if length == 13 {
print("Mytext=\(Mytext.text!)")
Mytext.text = ""
return true
}else {
return true
}
}