UITableViewCell分隔符未显示

时间:2010-08-30 13:59:32

标签: iphone uitableview cell separator

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

之前有没有发生过这种情况?是什么给了什么?

谢谢!

8 个答案:

答案 0 :(得分:53)

即使这是一个老帖子,也只是抬头:

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

转到Window-> Scale-> 100%

进行更改

答案 1 :(得分:51)

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

答案 2 :(得分:25)

在我的情况下,我忘记在覆盖layoutSubviews方法后调用[super layoutSubviews]。我花了两个小时才发现问题。

答案 3 :(得分:2)

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

的separatorStyle属性

tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;

答案 4 :(得分:1)

我在UITableView class reference中找到了separatorStyle。 它说它会将separatorStyle添加到委托方法tableView:cellForRowAtIndex:返回的单元格中。

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

答案 5 :(得分:0)

可能是一个不太可能的案例,但还有另一个可能的原因。

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

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

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

说实话,我很惊讶这个错误中唯一明显的错误就是隔离器丢失了。除此之外,UITableView仍能正常运行吗?

答案 6 :(得分:0)

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

cell.contentView 而不是 cell

[cell.contentView addSubview:subview];

答案 7 :(得分:0)

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