Ограничить записи в 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 с именами состояний, из которых вы хотите выбрать пользователя. Таким образом, пользователь полностью ограничен и никак не может обмануть ваше приложение.;-)

Другие вопросы по тегам