我使用下面的代码来限制用户只能在 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
}
关于ios - 限制 UITextField 的字符时,“完成”按钮不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55512337/