Ограничить записи в UITextField
Есть ли способ ограничить пользователя вводить только определенную информацию в UITextField? Например, я хочу запретить пользователю вводить только штаты США. Я знаю, что могу использовать другие элементы управления, такие как UIPickerView, но я хочу, чтобы они печатали это, если это возможно. Благодарю.
2 ответа
Проверять, выписываться:
- ( BOOL )textField:( UITextField * )textField
shouldChangeCharactersInRange:( NSRange )range
replacementString:( NSString * )string
Вот статья об автозаполнении с указанием массива возможных значений (NSMutableArray). Возможно, вы могли бы немного изменить его, чтобы ограничить количество записей вместо предложений по автозаполнению.
http://www.raywenderlich.com/336/how-to-auto-complete-with-custom-values
Надеюсь, это поможет.
Ограничение UITextField, в свою очередь, ограничено определенными пределами. Вы можете ограничить текстовое поле, чтобы принимать только буквы алфавита, буквенно-цифровые значения или числовые значения. Но практически невозможно ограничить принятие в текстовом поле названий государств других стран, кроме США.
Один из способов сделать это - наличие словаря / списка названий штатов в США. И когда пользователь закончит ввод текста в текстовое поле, сопоставьте введенный текст с имеющимся списком. Если в списке нет напечатанного текста, то пользователь не является подлинным, и он пытается обмануть ваше приложение.:-0
Лучший способ - позволить пользователю выбирать из UIPickerView или UITableView с именами состояний, из которых вы хотите выбрать пользователя. Таким образом, пользователь полностью ограничен и никак не может обмануть ваше приложение.;-)