UITextField字符限制



我有一个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)
}

最新更新