UITableviewcell单元格间距

Posted

技术标签:

【中文标题】UITableviewcell单元格间距【英文标题】:UITableviewcell spacing between cells 【发布时间】:2012-09-20 09:28:10 【问题描述】:

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

【问题讨论】:

你是在创建 UITableView 并使用它的委托方法来创建单元格吗? 我通过 IB.cell 添加的 Tableview 是使用 cellforrowatindexpath 创建的 在行高和单元格高度之间有所不同... 【参考方案1】:

自定义间距的 UITableView

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

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

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

最后,在 UITableViewCell 子类中实现

- (void)layoutSubviews

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

【讨论】:

如果使用内置的滑动删除功能会起作用吗?我创建了一个自定义 UITableViewCell 布局,底部有一个透明部分,但删除手势是可见的above it。【参考方案2】:

在 UITableView 中有 2 个属性:separatorStyleseparatorColor。使用它们也许你的分隔符颜色是 clearcolor 所以试着改变它。

【讨论】:

我不能这样使用,因为我有一个表格视图的背景图像,我需要在单元格之间显示该图像。 您需要在单元格之间显示图像,这意味着 UITableViewCell 有一个完整的背景,还是每个单元格都有自己特定的背景? 在一个部分中添加第 1 行的数量,并将部分数量添加为数组中的元素数 .... 我需要为单元格提供背景..每个单元格都具有相同的背景。结果我应该在三个标签内得到一个背景为黄色的单元格,然后是一个空格,然后是另一个相同类型的单元格。 【参考方案3】:

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

【讨论】:

以上是关于UITableviewcell单元格间距的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 和单元格重用

uitableviewcell 中的自动布局问题

当单元格具有动态宽度时,CollectionView 中的间距不正确?

如何在 UITableViewCell 中添加多行文本字段?

UITableViewCell 之间的间距是多少?

自定义 UITableViewCell 创建了两次......让我发疯