我有一个UITextField
并且我设置了它,所以你只能输入8个字符。问题是,一旦输入第8个字符,用户就无法使用删除键。当我在文本字段中输入8个字符时,如何允许使用键盘上的删除键?
这是我的代码:
func textField(textField: UITextField!,shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool {
var shouldChange = false
if countString(textField.text) < 8 {
shouldChange = true
}
return shouldChange
}
注意:countString
是一个私有函数,用于计算字符串中的字符数
答案 0 :(得分:2)
您需要的是不检查是否少于8个字符,但现有字符串加上是否大于8。
func textField(textField: UITextField!,shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool {
NSUInteger newLength = countString(textField.text)+ countString(string) - range.length;
return !(newLength > 8)
}