Оскільки дизайн представлень таблиць із використанням згрупованого стилю значно змінився з iOS 7, я хотів би приховати (або видалити) заголовок першого розділу. Поки що мені не вдалося цього досягти.
Дещо спрощений мій код виглядає приблизно так:
- (CGFloat) tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if (section == 0)
return 0.0f;
return 32.0f;
}
- (UIView*) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
if (section == 0) {
UIView* view = [[UIView alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 640.0f, 0.0f)];
return view;
}
return nil;
}
- (NSString*) tableView:(UITableView *) tableView titleForHeaderInSection:(NSInteger)section
{
if (section == 0) {
return nil;
} else {
// return some string here ...
}
}
Якщо я поверну висоту 0, інші два способи ніколи не будуть називатися з індексом розділу 0. Однак порожній заголовок розділу все ще намальований із висотою за замовчуванням. (У iOS 6 називають два методи. Однак видимий результат однаковий.)
Якщо я поверну інше значення, заголовок розділу отримує вказану висоту.
Якщо я поверну 0,01, це майже правильно. Однак, коли я вмикаю "Кольорові нерівні зображення" в тренажері, він позначає всі комірки подання таблиці (що, здається, є логічним наслідком).
Відповіді на питання UITableView: сховати заголовок від порожнього розділу, схоже, вказують на те, що деякі люди успішно ховали заголовок розділу. Але це може стосуватися простого стилю (замість згрупованого).
Найкращий компроміс поки що - повернення висоти 0,5, що призводить до дещо товстішої лінії нижче панелі навігації. Однак я вдячний, якщо хтось знає, як заголовок першого розділу можна повністю приховати.
Оновлення
Відповідно до аналізу caglar ( https://stackoverflow.com/a/19056823/413337 ), проблема виникає лише в тому випадку, якщо подання таблиці міститься в навігаційному контролері.
section == 0
.