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