33

我在 IB 中制作了一个自定义 UITableViewCell,但出于某种原因,尽管选择了分隔符的单行选项,但我的表格上没有分隔线。

你们中的任何人以前发生过这种情况吗?是什么赋予了?

谢谢!

4

8 回答 8

53

尽管这是一个旧帖子,但请注意:

如果您使用的是模拟器并且 UITableView 分隔符未显示在单元格之间,则可能是因为您的窗口比例太小。

通过转到 Window->Scale->100% 来更改它

于 2016-01-26T18:49:31.807 回答
52

IB 中的 UITableViewCell 是否与覆盖的 UITableViewCell 子类相关联drawRect:?如果是这样,请确保您正在调用超级实现,因为这就是在底部画线的原因。如果您要覆盖,请layoutSubviews确保没有视图遮挡单元格的底部。

于 2010-08-30T14:17:05.280 回答
32

就我而言,我在覆盖 layoutSubviews 方法后忘记调用 [super layoutSubviews] 。我花了两个小时才找到问题。

于 2012-10-19T13:37:11.547 回答
3

在我的情况下,我必须设置 tableView 的 separatorStyle 属性

tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

于 2013-09-25T21:47:33.430 回答
1

separatorStyleUITableView 类参考中找到。它说它将添加 separatorStyle 到委托方法返回的单元格,tableView:cellForRowAtIndex:

所以,我认为你应该修改 UITableView 实例的样式属性。

于 2010-08-30T14:06:38.900 回答
0

也许是不太可能的情况,但还有另一个可能的原因。

我有一个UITableView名为 AddressBookTableView 的自定义,它包含在我的一个视图控制器的 .XIB 中。我注意到它已被添加为UIView自定义类指定为 AddressBookTableView 的元素。我删除了这个元素并添加了一个UITableView元素,我再次将其类指定为 AddressBookTableView 并且分隔符神奇地重新出现了!

我花了很长时间才找到这个...

确保您的自定义UITableView.XIB 元素确实是自定义UITableView元素,而不是重命名的UIView元素。

老实说,我很惊讶这个错误的唯一明显伪影是缺少分隔符。除此之外 UITableView 仍然正常运行?

于 2015-05-14T22:38:15.967 回答
0

对于看到这一点的任何人:我的问题是我有多个部分,每个部分中的第一个单元格没有分隔符。在我的表格视图中,我已经覆盖了 heightForHeader 函数(返回 0)。删除这个解决了这个问题。

于 2016-07-08T16:03:32.860 回答
0

如果您以编程方式将子视图添加到单元格,请确保添加子视图

cell.contentView而不是到单元格

[cell.contentView addSubview:subview];
于 2016-02-21T17:12:00.450 回答