我在 IB 中制作了一个自定义 UITableViewCell,但出于某种原因,尽管选择了分隔符的单行选项,但我的表格上没有分隔线。
你们中的任何人以前发生过这种情况吗?是什么赋予了?
谢谢!
我在 IB 中制作了一个自定义 UITableViewCell,但出于某种原因,尽管选择了分隔符的单行选项,但我的表格上没有分隔线。
你们中的任何人以前发生过这种情况吗?是什么赋予了?
谢谢!
尽管这是一个旧帖子,但请注意:
如果您使用的是模拟器并且 UITableView 分隔符未显示在单元格之间,则可能是因为您的窗口比例太小。
通过转到 Window->Scale->100% 来更改它
IB 中的 UITableViewCell 是否与覆盖的 UITableViewCell 子类相关联drawRect:
?如果是这样,请确保您正在调用超级实现,因为这就是在底部画线的原因。如果您要覆盖,请layoutSubviews
确保没有视图遮挡单元格的底部。
就我而言,我在覆盖 layoutSubviews 方法后忘记调用 [super layoutSubviews] 。我花了两个小时才找到问题。
在我的情况下,我必须设置 tableView 的 separatorStyle 属性
tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
我separatorStyle
在UITableView 类参考中找到。它说它将添加 separatorStyle 到委托方法返回的单元格,tableView:cellForRowAtIndex:。
所以,我认为你应该修改 UITableView 实例的样式属性。
也许是不太可能的情况,但还有另一个可能的原因。
我有一个UITableView
名为 AddressBookTableView 的自定义,它包含在我的一个视图控制器的 .XIB 中。我注意到它已被添加为UIView
自定义类指定为 AddressBookTableView 的元素。我删除了这个元素并添加了一个UITableView
元素,我再次将其类指定为 AddressBookTableView 并且分隔符神奇地重新出现了!
我花了很长时间才找到这个...
确保您的自定义UITableView
.XIB 元素确实是自定义UITableView
元素,而不是重命名的UIView
元素。
老实说,我很惊讶这个错误的唯一明显伪影是缺少分隔符。除此之外 UITableView 仍然正常运行?
对于看到这一点的任何人:我的问题是我有多个部分,每个部分中的第一个单元格没有分隔符。在我的表格视图中,我已经覆盖了 heightForHeader 函数(返回 0)。删除这个解决了这个问题。
如果您以编程方式将子视图添加到单元格,请确保添加子视图
到cell.contentView而不是到单元格
[cell.contentView addSubview:subview];