我希望将用户可以在文本字段中输入的字符数量限制为 14。这是我找到文档的代码。
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let currentCharacterCount = userNameTextField.text?.characters.count ?? 0
if (range.length + range.location > currentCharacterCount){
return false
}
let newLength = currentCharacterCount + string.characters.count - range.length
return newLength <= 14
}
但我觉得我没有正确实现这一点。我已经设置了
userNameTextField.delegate = self
在viewDidLoad中,我符合UITextFieldDelegate 协议(protocol)。
Best Answer-推荐答案 strong>
您声明您使用的是 Swift 3。Swift 3 中许多方法的签名发生了变化。您需要使用:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
}
不是您问题中发布的旧签名。
如果它仍然没有被调用,那么你永远不会设置文本字段的 delegate 属性。
关于ios - TextField 的最大字符数限制,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/40025302/
|