中的字符数。
我有一个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
是一个私有函数,用于计算字符串
您需要的不是检查是否有少于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)
}