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 个属性:separatorStyle
和 separatorColor
。使用它们也许你的分隔符颜色是 clearcolor 所以试着改变它。
【讨论】:
我不能这样使用,因为我有一个表格视图的背景图像,我需要在单元格之间显示该图像。 您需要在单元格之间显示图像,这意味着 UITableViewCell 有一个完整的背景,还是每个单元格都有自己特定的背景? 在一个部分中添加第 1 行的数量,并将部分数量添加为数组中的元素数 .... 我需要为单元格提供背景..每个单元格都具有相同的背景。结果我应该在三个标签内得到一个背景为黄色的单元格,然后是一个空格,然后是另一个相同类型的单元格。 【参考方案3】:这个问题是由于 TableView 和自定义单元格的高度不同造成的。在 heightForRowAtIndexPath 委托中设置单元格高度。
【讨论】:
以上是关于UITableviewcell单元格间距的主要内容,如果未能解决你的问题,请参考以下文章
当单元格具有动态宽度时,CollectionView 中的间距不正确?