У меня есть UITableView, созданный как сгруппированный tableView. При определенных обстоятельствах мне нужно создать собственное представление для заголовка, а при других обстоятельствах я хочу использовать его по умолчанию.Заголовок заголовка по умолчанию для UITableView
Создание пользовательского заголовка является легкой частью - просто использовать делегат:
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
Однако, то, что я вернусь из этого делегата, если я хочу, вид заголовка по умолчанию вместо этого?
Я пробовал возвращать нуль, и это работает, как и ожидалось, когда табличный вид выглядит как Plain. Если представление таблицы составлено как Grouped, тогда заголовок по умолчанию исчезает, когда я возвращаю nil.
Как получить заголовок заголовка по умолчанию, учитывая, что мне также иногда нужны пользовательские заголовки?
Edit:
Я думаю, что я нашел эту проблему. В Tableview: heightForHeaderInSection: Я делаю следующее:
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if ([myArray count] == 0) return 80;
else return [tableView sectionHeaderHeight];
}
Кажется, что [Tableview sectionHeaderHeight] возвращает неверную высоту моего заголовка. Он устанавливает значение 10, но должно быть около 30.
Под 3.0, вид по умолчанию используется, когда я вернусь ноль, даже если просмотр таблицы сгруппированы. По крайней мере, здесь. – Joost
Хммм, интересно. Для меня это не работает. Не могли бы вы разместить образец вашего viewForHeaderInSection и вашего кода heightForHeaderInSection? – rein