Высота заголовка раздела UITableView для негруппированной таблицы

Привет! Я знаю, что UITableView sectionHeaderHeight используется только для сгруппированных таблиц, но я все равно спрошу (в случае, если есть способ сделать это, что не очевидно)...

Есть ли способ изменить высоту заголовка раздела (и с ним, шрифт/размер) для NON -группированной таблицы?

Надеясь "да" или, по крайней мере, "возможно"... но опасаясь, что это может быть "нет". Имейте это, люди.

Ответ 1

Да.

Используйте этот метод делегата:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return 44;
}

Конечно, при необходимости измените. Конечно же, для нижнего колонтитула:

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return 44;
}

Ответ 2

По крайней мере, так как iOS 9 (проверено) UITableView.sectionHeaderHeight работает также для представлений простой таблицы (не сгруппированных)!

Вы получите высоту заголовка по умолчанию (обычно 22.0).

Конечно, делегат таблицы может настроить это значение по умолчанию в своем методе tableView: heightForHeaderInSection:.

Следующий фрагмент кода дает высоту заголовка определенного раздела:

CGFloat headerHeight = self.tableView.sectionHeaderHeight;
if ([self.tableView.delegate respondsToSelector:@selector(tableView:heightForHeaderInSection:)]) {
    // possibly custom header height
    headerHeight = [self.tableView.delegate tableView:self.tableView heightForHeaderInSection:indexPathForCell.section];
}