UITableViewCell分割线未显示出来

34

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

你们有没有遇到过这种情况?这是怎么回事?

谢谢!

8个回答

53

提醒一下,即使这是一篇旧文章:

如果你正在使用模拟器,UITableView单元格之间的分隔符没有显示出来,可能是因为你的窗口缩放比例太小了。

可以通过转到Window->Scale->100%来更改。


4
那就是我的情况所在原因。花费了我几个小时才想明白。 - Ali
3
感谢上帝!我已经苦苦挣扎了好几个小时!谢谢! - enricmacias

53

在IB中的UITableViewCell是否与一个重写了drawRect:的UITableViewCell子类相关联?如果是的话,请确保您调用了超级实现,因为那就是在底部绘制线条的地方。如果您正在重写layoutSubviews,请确保没有视图遮挡了单元格底部。


69
如果你重写了layoutSubviews方法,确保首先调用[super layoutSubviews]。 - codecaffeine

35
在我的情况下,我忘记在重写layoutSubviews方法后调用[super layoutSubviews]。花了我两个小时才找到问题。

1
是的...我也遇到了同样的问题。 - Mohammad Sadiq Shaikh
这绝对是“一个问题”,我刚刚遇到它了,谢谢。但是,有人知道为什么会出现这种情况吗? - stonedauwg
我也刚刚做了这件事。 - Darren
这是我的问题。 - Said Al Souti

4

在我的情况下,我需要设置tableView的separatorStyle属性。

tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;


1

你不能在这个方法中指定分隔符的样式。 - Shmidt
@Shmidt,我再次阅读了苹果文档http://goo.gl/FgTirp。**UITableView使用此属性在tableView:cellForRowAtIndexPath:中设置从委托返回的单元格的分隔符样式。** - AechoLiu

1

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


0
如果您以编程方式向单元格添加子视图,请确保将子视图添加到 cell.contentView 而不是 cell
[cell.contentView addSubview:subview];

0
也许是一个不太可能的情况,但还有另外一种可能的原因。
我有一个名为AddressBookTableView的自定义UITableView,并且它包含在我的一个视图控制器的.XIB文件中。我注意到的是,它被添加为一个UIView元素,并指定了自定义类为AddressBookTableView。我删除了这个元素,然后添加了一个UITableView元素,再次将其类指定为AddressBookTableView,然后分隔线神奇地重新出现了!
找到这个问题花费了我很长时间...
请确保你的自定义UITableView .XIB元素确实是自定义的UITableView元素,而不是重命名的UIView元素。
老实说,我很惊讶这个错误的唯一可见迹象就是分隔线消失了。除此之外,UITableView仍然正常工作吗?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接