我正在使用以下代码将用户限制为UITextField
仅使用某些字符。允许的字符在扩展字符串内。效果很好,但我面临的问题是用户无法按“完成”按钮并运行我的代码。
我是新手,很快就发现堆栈溢出。我不知道该怎么办。
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
}
我只希望“ 完成”按钮起作用。
答案 0 :(得分:0)
尝试覆盖此 UITextFieldDelegate 方法。
func textFieldShouldReturn(_ textField: UITextField) -> Bool{
return true
}