移除分割线缩进后UITableViewCell的textLabel对齐问题

3
我已经实现了类似日历应用程序的行内日期选择器,您可以点击UITableViewCell并展开下面包含UIDatePicker的单元格。现在我将日期选择器作为部分中的最后一行,因此默认情况下,由于其下方有另一个隐藏单元格,上方的行的separatorInset不是0。因此,我需要通过设置为UIEdgeInsetsZero来删除分隔符插图。但是,您还必须删除iOS 8中添加的单元格的layoutMargins,以便将分隔线移动到表格的最左侧。这样做后,单元格的textLabel与其他单元格的textLabel不再对齐-它被渲染得太靠左了。
那么,如何仅针对该单元格将分隔线设置为从表格的最左侧开始,同时保持其文本标签与其他单元格对齐?请注意,我正在使用右详细单元格样式。
self.endTimeCell.separatorInset = UIEdgeInsetsZero
self.endTimeCell.layoutMargins = UIEdgeInsetsZero

enter image description here

1个回答

0

一种选择是从所有单元格中删除边距,使它们都与那个特定的单元格对齐,而不是试图使该单元格与其他单元格对齐。这可以通过将整个表格的layoutMargins设置为UIEdgeInsetsZero来实现。这可能不是理想的选择,但它确实可以使所有单元格对齐。

self.tableView.layoutMargins = UIEdgeInsetsZero
self.endTimeCell.separatorInset = UIEdgeInsetsZero
self.endTimeCell.layoutMargins = UIEdgeInsetsZero

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