我已经实现了类似于日历应用实现方式的在线日期选择器,您点击UITableViewCell
并展开其下方包含UIDatePicker
的下一个单元格。现在我有一个日期选择器作为一个部分的最后一行,所以默认情况下separatorInset
不在0
上面的行,因为它下面有另一个隐藏的单元格。因此,我需要通过将其设置为UIEdgeInsetsZero
来删除分隔符。但是,您还必须删除iOS 8中添加的单元格的layoutMargins
,以便将分隔线移动到表格的最左侧。在这样做之后,单元格textLabel
不再与其他单元格对齐'文字标签 - 它被渲染得太远了。
那么如何将分隔线设置为仅在一个单元格的表格最左侧开始,同时保持其文本标签与其他单元格对齐?请注意,我使用了Right Detail单元格样式。
self.endTimeCell.separatorInset = UIEdgeInsetsZero
self.endTimeCell.layoutMargins = UIEdgeInsetsZero
答案 0 :(得分:0)
一种选择是从所有单元格中移除边距,以便它们都与该特定单元格对齐,而不是尝试使一个单元格与其他单元格对齐。这可以通过将整个表格的layoutMargins
设置为UIEdgeInsetsZero
来完成。这可能并不理想,但确实对齐了所有细胞。
self.tableView.layoutMargins = UIEdgeInsetsZero
self.endTimeCell.separatorInset = UIEdgeInsetsZero
self.endTimeCell.layoutMargins = UIEdgeInsetsZero