Как настроить заголовок раздела tableView с помощью XIB? - PullRequest
6 голосов
/ 14 июня 2011

Я пытаюсь создать настраиваемые заголовки разделов для UITableView.Я нашел несколько ссылок, иллюстрирующих, как сделать это полностью в коде (# 1349571 ).

Я пытаюсь определить, возможно ли создать интерфейс UIView в Интерфейсном Разработчике и использовать его для настройки заголовка, аналогично тому, как это можно сделать для UITableViewCell?

Ответы [ 3 ]

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

ДА Можно использовать представление заголовка, созданное с использованием XIB.Создайте XIB и класс для управления XIB (класс UIView).Использовать

YourNibClassName* v = [[[NSBundle mainBundle] loadNibNamed:@"YOUR_XIB_NAME" owner:self options:nil] firstObject];

//With this method you can load any xib for header view

tableView.tableHeaderView = v;
[v release];

РЕДАКТИРОВАТЬ

Вернуть это представление в viewForHeaderInSection, как это

YourNibClassName* v = [[[NSBundle mainBundle] loadNibNamed:@"YOUR_XIB_NAME" owner:self options:nil] firstObject];
//Do some stuff here like setting text on labels etc.
return [v autorelease];
3 голосов
/ 18 марта 2014

Поскольку у нас есть прототип ячейки, вы также можете добавить прототип ячейки к вашей таблице.Заполните Идентификатор ячейки прототипа в Интерфейсном Разработчике.(например, HeaderCell) Затем вы можете использовать его в viewForHeaderForSection так же, как используете ячейки в cellForRowAtIndexPath.

Пример:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    UIView *headerView = [tableView dequeueReusableCellWithIdentifier:HeaderCellID];
    UILabel *label = (UILabel *)[headerView viewWithTag:100];
    label.text = [self tableView:self.tableView titleForHeaderInSection:section];

    return headerView;
}
0 голосов
/ 14 апреля 2013

добавьте его как метки над таблицей и удалите многожильный заголовок таблицы. Я сделал это, как только узнаю, что это звучит странно, но сработало

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...