AddressBookU мне нравится TableView для моего приложения? - PullRequest
0 голосов
/ 21 декабря 2009

У меня есть табличное представление с более чем тысячей записей! Это просто безумие, я знаю, но нет смысла разбивать его на дерево. Поэтому я хотел бы иметь индекс A-Z и строку поиска, как в адресной книге.

Существует ли такая структура, которая позволяет мне устанавливать собственный источник данных, который не имеет ничего общего с людьми, и отображать его, как в адресной книге?

Приветствия

Nik

Ответы [ 3 ]

3 голосов
/ 21 декабря 2009

Представления таблиц с тысячами записей в порядке, но вам определенно нужна быстрая прокрутка и поиск.

Для прокрутки реализуйте методы источника данных табличного представления sectionIndexTitlesForTableView: и tableView: sectionForSectionIndexTitle: .

Для поиска добавьте UISearchBar и реализуйте некоторые из его методов делегирования . Вы также можете захотеть использовать UISearchDisplayController , который позволит вам использовать ваш контроллер в качестве источника данных / делегата для отдельного представления таблицы поиска. Он также имеет протокол делегата . Проверьте образец Apple TableSearch .

1 голос
/ 21 декабря 2009

Вкладки индекса просты, просто реализуйте -sectionIndexTitlesForTableView: в источнике данных табличного представления. Он должен возвращать массив строк, например, A, B, C, ... Z.

0 голосов
/ 21 декабря 2009

Нашел отличный ответ здесь: http://blog.webscale.co.in/?p=240

Краткий ответ, используйте tableView:

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {

    NSMutableArray *toBeReturned = [[NSMutableArray alloc]init];
    for(char c = 'A'; c <= 'Z'; c++) [toBeReturned addObject:[NSString stringWithFormat:@"%c",c]];
    return toBeReturned;
}

Приветствия

Nik

...