Я использую приведенный ниже код, чтобы запретить пользователям использовать только определенные символы для 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
}
Я просто хочу, чтобы кнопка " done " работала.