如何覆盖此 UITextField 函数,以便它对最大字符数有限制?
override func shouldChangeText(in range: UITextRange, replacementText text: String) -> Bool {
}
我对堆栈进行了一些研究,但我能找到的只是这个函数(见下文)。首先,我看不出这是如何覆盖的,其次,它使用 NSRange 作为我有 UITextRange 的参数。如何实施?谢谢
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange,
replacementString string: String) -> Bool {
let currentString: NSString = textField.text! as NSString
let newString: NSString = currentString.replacingCharacters(in: range, with: string) as NSString
return newString.length <= 4
}
我失败的尝试:
override func shouldChangeText(in range: UITextRange, replacementText text: String) -> Bool {
let currentString: NSString = self.text! as NSString
let newString: NSString = currentString.replacingCharacters(in: range, with: text) as NSString
return newString.length <= 4
}
错误:无法将“UITextRange”类型的值转换为预期的参数类型“NSRange”(又名“_NSRange”)