Ограничить записи в UITextField - PullRequest
0 голосов
/ 24 сентября 2011

Есть ли способ ограничить пользователя вводить только определенную информацию в UITextField?Например, я хочу запретить пользователю вводить только штаты США.Я знаю, что могу использовать другие элементы управления, такие как UIPickerView, но я хочу, чтобы они печатали это, если это возможно.Спасибо.

Ответы [ 2 ]

1 голос
/ 24 сентября 2011

Ограничение UITextField в свою очередь ограничено определенными пределами.Вы можете ограничить текстовое поле, чтобы принимать только буквы алфавита, буквенно-цифровые значения или числовые значения.Но практически невозможно ограничить принятие текстовых полей именами государств других стран, кроме США.

Один из способов сделать это - наличие словаря / списка названий штатов в США.И когда пользователь закончит ввод текста в текстовое поле, сопоставьте введенный текст с имеющимся списком.Если в списке нет напечатанного текста, то пользователь не является подлинным, и он пытается обмануть ваше приложение.: -0

Лучший способ - позволить пользователю выбрать из UIPickerView или UITableView с именами состояний, из которых пользователь хочет выбрать.Таким образом, пользователь полностью ограничен и никак не может обмануть ваше приложение.; -)

1 голос
/ 24 сентября 2011

проверить:

- ( BOOL )textField:( UITextField * )textField
    shouldChangeCharactersInRange:( NSRange )range
    replacementString:( NSString * )string

Вот статья об автозаполнении с массивом возможных значений (NSMutableArray). Возможно, вы могли бы немного изменить его, чтобы ограничить количество записей вместо предложений по автозаполнению.

http://www.raywenderlich.com/336/how-to-auto-complete-with-custom-values

Надеюсь, это поможет.

...