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