Ios UITextField字符限制
我有一个Ios UITextField字符限制,ios,uitextfield,swift,Ios,Uitextfield,Swift,我有一个UITextField,并且我已经设置好了,所以您只能在其中输入8个字符。问题是,一旦输入第8个字符,用户就不能使用delete键。在文本字段中输入8个字符时,如何允许使用键盘上的delete键 这是我的密码: func textField(textField: UITextField!,shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool {
UITextField
,并且我已经设置好了,所以您只能在其中输入8个字符。问题是,一旦输入第8个字符,用户就不能使用delete键。在文本字段中输入8个字符时,如何允许使用键盘上的delete键
这是我的密码:
func textField(textField: UITextField!,shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool {
var shouldChange = false
if countString(textField.text) < 8 {
shouldChange = true
}
return shouldChange
}
func textField(textField:UITextField!,shouldChangeCharactersRange:NSRange,replacementString:string!)->Bool{
var shouldChange=false
如果countString(textField.text)<8{
shouldChange=true
}
返回应该改变
}
注意:
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)
}
谢谢杰克的解决方案!