4

我正在UITableView动态创建单元格并在其上添加三个标签。我通过opaque no 和 clearcolor使我的表格透明。但是单元格显示时没有空格。我需要在单元格之间留出空间。实际上,如果我UITableViewCell从 xib 文件加载自定义,空间会自动出现。如何解决这个问题?

4

3 回答 3

5

具有自定义间距的 UITableView

您可以通过欺骗 tableView 单元格来做到这一点。默认情况下,您只能指定一条线、蚀刻线或无,因此这里是另一种选择。您需要覆盖 tableView 委托方法:

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

计算单元格高度及其内容、边距/填充/线宽并返回。将单元格的背景颜色设置为[UIColor clearColor]并使表格背景成为分隔符所需的颜色。子类 UITableViewCell 并附加一个 backgroundContainerView 并使其成为您的单元格所需的背景颜色。将所有子视图附加到该 backgroundContainerView。

最后,在 UITableViewCell 子类中实现

- (void)layoutSubviews

在这里,您应该使用容器视图来布置子视图,就好像那是整个单元格一样。

于 2013-07-26T15:15:12.990 回答
1

在 UITableView 你有 2 个属性:separatorStyleseparatorColor。使用它们,也许您的分隔符颜色是clearcolor,因此请尝试更改它。

于 2012-09-20T09:36:27.750 回答
1

这个问题是由于 TableView 和自定义单元格的高度不同造成的。在 heightForRowAtIndexPath 委托中设置单元格高度。

于 2012-09-20T09:55:05.397 回答