UITextField字符限制

时间:2014-07-11 18:29:24

标签: ios uitextfield swift

我有一个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是一个私有函数,用于计算字符串中的字符数

1 个答案:

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