限制 UITextField 的字符时完成按钮不起作用
Done button don't work when restricting characters for UITextField
我正在使用下面的代码来限制用户只能将某些字符用于 UITextField
。允许的字符在扩展字符串中。它运行良好,但我面临的问题是用户无法按完成按钮和 运行 我的代码。
我是 swift 和堆栈溢出的新手。我不知道该怎么办。
extension String {
var containsValidCharacter: Bool {
let characterSet = CharacterSet(charactersIn: "1234567890 -")
let range = (self as NSString).rangeOfCharacter(from: characterSet)
return range.location != NSNotFound
}
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
return string.containsValidCharacter
}
我只想让“完成”按钮起作用。
尝试覆盖此 UITextFieldDelegate 方法。
func textFieldShouldReturn(_ textField: UITextField) -> Bool{
return true
}
我正在使用下面的代码来限制用户只能将某些字符用于 UITextField
。允许的字符在扩展字符串中。它运行良好,但我面临的问题是用户无法按完成按钮和 运行 我的代码。
我是 swift 和堆栈溢出的新手。我不知道该怎么办。
extension String {
var containsValidCharacter: Bool {
let characterSet = CharacterSet(charactersIn: "1234567890 -")
let range = (self as NSString).rangeOfCharacter(from: characterSet)
return range.location != NSNotFound
}
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
return string.containsValidCharacter
}
我只想让“完成”按钮起作用。
尝试覆盖此 UITextFieldDelegate 方法。
func textFieldShouldReturn(_ textField: UITextField) -> Bool{
return true
}