2016-01-19 6 views
0

У меня есть UITableView с кнопкой фильтра. Если кнопка нажата, может случиться, что таблица пуста. Чтобы проинформировать пользователя, я добавляю представление табличного представления в этом случае. Если есть строки для отображения, я возвращаю заголовок в нуль.после удаления планшета из UITableView, есть пробел

Обновление: Я не говорю о заголовке раздела, я говорю о заголовке таблицы.

Все работает так, как ожидалось, но если планшет удален, я вижу пробел по таблице, которого раньше не было. Любая идея, как избавиться, если это произойдет?

Это код:

if(_sections.count == 0) { 
    UIView *tableHeader = [self getTableHeader]; // make a view 
    self.tableView.tableHeaderView = tableHeader; 
} 
else { 
    self.tableView.tableHeaderView = nil; 
    [self.tableView reloadData]; // I added this as a test - no luck 
} 

Вот как это выглядит перед фильтрацией все легко:

everything crisp and clean, no gap.

Это "пустой" случай:

all data filtered: Show the message

Это , Если удалить фильтр снова:

removed filter again

ответ

1

вы пытались установки высоты заголовка к 0.0f, когда раздел = 0 в: - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

Edit:
Я думаю, что решение, вы ищете замену self.tableView.tableHeaderView = nil; с: self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableView.bounds.size.width, 0.01f)]; найдено в Why is there extra padding at the top of my UITableView with style UITableViewStyleGrouped in iOS7 от г-на T

+0

Вы предлагаете, чтобы промежуток фактически был первым сектором? Поскольку я не изменил код заголовка раздела, я добавил заголовок таблицы ... – thst

+0

Я не совсем уверен, но при добавлении заголовков разделов я обычно должен обрабатывать высоту для всех случаев. Возможно, я ошибаюсь, это заголовок для таблицы или заголовок для раздела? – aduflo

+0

Это не заголовок раздела, это заголовок. – thst

Смежные вопросы