UITextField автозаполнение - PullRequest
1 голос
/ 14 июня 2011

Возможно ли автозаполнение баз UITextField на том, что вводится?Причина, по которой я нуждаюсь в этом, состоит в том, что у меня есть предопределенный набор слов, которые пользователь должен выбрать, и список составляет около 1000 элементов.Я хочу отобразить в UITableView и позволить пользователю выбрать, но наличие 1k элементов в списке таблиц не является хорошей идеей.Спасибо

Ответы [ 2 ]

0 голосов
/ 14 июня 2011

Вам нужно будет использовать TextFieldTextDidChange, как упомянуто здесь: Как я могу получить метод textDidChange (как для UISearchBar) для UITextField? но только как вы представляете доступный набор, яя не уверен ... вы могли бы оставить таблицу пустой до тех пор, пока не будут введены символы X, а затем искать совпадения, чтобы заполнить вашу (теперь меньшую) таблицу

0 голосов
/ 14 июня 2011

Вы можете сделать это, не показывая все элементы 1k в табличном представлении, но вы можете заполнить табличное представление, когда пользователь начинает печатать буквы в текстовом поле. Для этого вы должны поместить все элементы в некоторую структуру данных или базу данных, откуда вы можете использовать некоторую сортировку или запрос, чтобы получить элементы, связанные с тем, что было введено пользователем. Например, если пользователь начинает печатать букву «а», то возьмите элементы, которые имеют букву а, и заполните их таблицей. Один из способов сделать это поместить все в базу данных и в UITextField делегат

- (void)textFieldDidBeginEditing:(UITextField *)textField

запускает объект NSTimer, который будет вызывать функцию каждую секунду, и эта функция выдаст вам выбранные данные из базы данных, заполнив таблицу этими данными.

Также вы должны остановить этот таймер в UITextField делегате -

- (BOOL)textFieldShouldReturn:(UITextField *)textField

или

-(void) textFieldDidEndEditing:(UITextField *)textField 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...