В текстовом поле я хочу разрешить только буквы и пробелы.Следующее решение, кажется, работает, но у него есть несколько проблем
1) Это не позволяет места
2) Он подсчитывает числа при вводе и включает в общее количество для максимального предела, который не являетсяправильный.Мы должны только считать то, что видим в поле
Я искал решение, но большинство из них устарели или не подходят для этой цели.Любая помощь?
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
// Don't allow number in name field
if textField == nameTextField && string.count > 0 {
let textString = (textField.text! as NSString).replacingCharacters(in: range, with: string)
let LettersOnly = NSCharacterSet.letters
let strValid = LettersOnly.contains(UnicodeScalar.init(string)!)
return strValid && textString.count <= 30
}
return true
}