Как смешать «Пользовательские заголовки разделов» и «Обычные заголовки» в UITableViewController? - PullRequest
9 голосов
/ 04 февраля 2010

Представьте себе таблицу («StyleGrouped») с несколькими разделами:

  • Некоторые разделы должны иметь «заголовок обычного заголовка».
  • Между "обычными секциями" должно быть несколько кнопок.

Интуитивно, чтобы определить заголовки разделов, я бы использовал:

(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section

И чтобы смоделировать кнопки, я бы создал пользовательские UIViews с помощью:

(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

Проблема в том, что когда вы начинаете использовать viewForHeaderInSection, titleForHeaderInSection перестает работать ...

Это как-то имеет смысл, так как теперь мы должны предоставлять настраиваемые представления заголовков. Единственная проблема заключается в том, что нет способа получить доступ к исходному UIView, используемому UIKit для рендеринга «обычных заголовков заголовков» ...

Не конец света (т. Е. Создание собственной UILabel и имитация UIKit), но мне просто интересно, что я что-то пропустил (?)

1 Ответ

7 голосов
/ 04 февраля 2010

Похоже, что viewForHeaderInSection вызывается перед titleForHeaderInSection.Однако, если вы возвращаете nil для конкретной строки, в которой вы не хотите использовать представление, вызывается titleForHeaderInSection.

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