如何隐藏空表格单元格?

时间:2012-05-12 12:51:46

标签: objective-c xcode ios5

如何隐藏空的UITableCells?我的Tablecell包含一个背景,所以我尝试了这行代码

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)];
    view.backgroundColor = [UIColor whiteColor];
    return view;
}

但它不起作用(因为我的uitablecell背景)

背景:

[tabelView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"table.png"]]];

3 个答案:

答案 0 :(得分:1)

如果要删除虚拟分隔符,则必须将表视图分隔符样式设置为none,如下所示:

tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

请注意,这也会隐藏非空单元格之间的分隔符。如果你想显示它们之间的界限,你必须自己照顾它,例如使用自定义UITableViewCell,在顶部/底部有1px行。

答案 1 :(得分:0)

是否要隐藏部分中的页脚或单元格?

如果你有多个部分,你可以检查代表实际上是哪个部分。

If (section == 0) {
Return view;
}

答案 2 :(得分:0)

Swift 2.0中的版本

如果您希望tableViewController仅显示已定义的单元格,则必须使用具有清晰颜色背景的空UIView实现委托方法tableView(tableView:, viewForFooterInSection section:) -> UIView?

在这种情况下,如果您定义方法tableView(tableView: UITableView, numberOfRowsInSection section: Int)以返回3个单元格,则只有3个可见单元格没有分隔符或其他单元格上的任何背景。

这里有viewForFooterInSection的示例实现:

override func tableView(tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {

        let view = UIView()
        view.backgroundColor = UIColor.clearColor()

        return view
    }