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)
}

谢谢杰克的解决方案!