删除UITableViewCells之间的间距

时间:2013-04-12 17:09:54

标签: iphone ios objective-c uitableview

我在同一部分有UITableViewCells,它们之间有间隙。我为每个单元格的contentView背景着色,并做了一个NSLog来显示它与单元格的高度相同。

但是,它们之间存在差距。他们肯定在彼此相同的部分。关于什么可能导致差距的任何想法?

4 个答案:

答案 0 :(得分:4)

我不确定你是否使用过它:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return 78;
}

并且在IB中检查了Cell真的是78(仅仅是为了争论)。 然后使用:

tableView.sectionHeaderHeight = 0.0;

并设置tableView的样式:

tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

多年来我遇到的最后一个解决方案是,有时你需要出于某种原因用像素扩展背景图像。我认为这根本不是一个好的解决方案,因为它并没有真正解决真正的问题,而是在它上面放了一个蹩脚的绑带。

cellFrameBackground.size.height += 1;

答案 1 :(得分:0)

您是否尝试将分隔符样式设置为无?

tableview.separatorType = UITableViewCellSeparatorStyleNone

答案 2 :(得分:0)

如果您正在谈论1像素间隙,那就是细胞分离器。您可以通过在表视图上设置属性来删除它:

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

如果您想更改该分隔符的颜色,请使用separatorColor属性。


如果您所说的差距大于1像素,您可以发布截图和细胞代码吗?

答案 3 :(得分:0)

要添加一组很棒的答案,有时你只需要扩展Leeloo所提到的背景高度:

cellFrameBackground.size.height += 1;

然后,将您的单元格剪辑限制为:

cell.clipsToBounds = YES;

而且,瞧。