0

我有一个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
}

这是过滤掉所有内容之前的样子:

一切都干脆利落,没有缝隙。

这是“空”的情况:

所有数据过滤:显示消息

也就是说,如果我再次删除过滤器:

再次删除过滤器

4

1 回答 1

1

您是否尝试过在 section != 0 中将标题高度设置为 0.0f:- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

编辑:
我认为您正在寻找的解决方案正在替换self.tableView.tableHeaderView = nil;为:self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableView.bounds.size.width, 0.01f)];为什么我的 UITableView 顶部有额外的填充,样式为 UITableViewStyleGrouped in iOS7 by Mr. T

于 2016-01-19T23:46:36.597 回答