2014-10-28 2 views
2

Что вы предложите, это лучший планшник для подачи табличного представления в алфавитном порядке?секционирование и индексирование uitableview

+0

+1 можно объяснить на примере, как я бы легко понять ??? –

+0

Я думаю, что ты на правильном пути. У вас может быть массив из 26 записей, и каждая запись содержит указатель на начало соответствующего словарного словаря. Таким образом, вы можете использовать это для генерации заголовка раздела и словаря для заполнения содержимого ниже. – Gismay

+0

Извините за беспокойство парней. Я думаю, что самый простой способ определить решение - это вопрос о том, какие люди компоновки будут использовать, если захотят в алфавитном порядке разделять слова, а затем слова, чтобы привести к подробному представлению определения. И тогда какой код будет выглядеть так, чтобы заполнить таблицу. Очень ценю помощь – user3692490

ответ

0

UITableView предоставил заголовки разделов и индексы для многоразовой ячейки таблицы, установив источник данных и делегат для UITableView. В классе DataSource, вы можете реализовать функции

tableView:numberOfRowsInSection: 
tableView:cellForRowAtIndexPath: 

выбрать количество секций и ячеек. И вы можете определить следующие две функции, чтобы задать заголовок для раздела.

tableView:heightForHeaderInSection: 
tableView:viewForHeaderInSection: 

И это для зрения колонтитула:

tableView:heightForFooterInSection: 
tableView:viewForFooterInSection: 

BTW, о представлении колонтитулов всей таблицы, используйте

tableview setHeaderView|setFooterView 

Используйте следующее, если заголовок/колонтитул только строка:

tableView:titleForHeaderInSection: 
tableView:titleForFooterInSection: 
0

Вы хотите структурировать свои данные, чтобы разделы были очевидны. В формате JSON, ваши данные могут выглядеть следующим образом:

[ 
    { 
    "section_name": "First Section", 
    "section_index_name": "A", 
    "section_contents": [ 
     "First Row", 
     "Second Row", 
     ... etc. 
    ] 
    }, 
    ... etc. 
] 

numberOfSectionsInTableView: является количество словарей в массиве верхнего уровня. Значение numberOfRowsInSection: - это количество элементов в массиве "section_contents" для данного раздела.

Используйте "section_name" как ваш titleForHeaderInSection:. Скомпилируйте массив всех значений "section_index_name", чтобы вернуться с sectionIndexTitlesForTableView:, чтобы создать индекс.

Смежные вопросы