3

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

不过,他们之间还是有差距的。他们肯定在同一个部分。关于什么可能导致差距的任何想法?

4

4 回答 4

6

我不确定你是否使用过这个:

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

并检查了 IB 中的 Cell 确实是 78(只是为了争论)。然后使用:

tableView.sectionHeaderHeight = 0.0;

并设置tableView的样式:

tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

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

cellFrameBackground.size.height += 1;
于 2013-04-12T17:27:27.423 回答
0

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

tableview.separatorType = UITableViewCellSeparatorStyleNone
于 2013-04-12T17:15:02.290 回答
0

如果您谈论的是 1 个像素的间隙,那就是单元分隔符。您可以通过在表格视图上设置属性来删除它:

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

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


如果您在谈论大于 1 像素的间隙,您可以发布屏幕截图和您的单元格代码吗?

于 2013-04-12T17:15:16.333 回答
0

要添加一组出色的答案,有时您只需要扩展 Leeloo 提到的背景高度:

cellFrameBackground.size.height += 1;

然后,使您的单元格剪辑到边界:

cell.clipsToBounds = YES;

而且,瞧。

于 2015-05-07T11:37:52.193 回答