3

我已经实现了与日历应用程序类似的内嵌日期选择器,你点击它,UITableViewCell它会展开它下面的下一个单元格,其中包含UIDatePicker. 现在我有一个日期选择器作为一个部分的最后一行,所以默认情况下它上面的行separatorInset不在0,因为它下面还有另一个隐藏的单元格。因此,我需要通过将分隔符设置为UIEdgeInsetsZero. 但是您还必须删除layoutMargins在 iOS 8 中添加的单元格,以便将分隔线移动到表格的最左侧。这样做之后,单元格textLabel不再与其他单元格的文本标签对齐 - 它被渲染得太左了。

那么,如何将分隔线设置为仅针对该一个单元格从表格的最左侧开始,同时保持其文本标签与其他单元格对齐?请注意,我使用的是 Right Detail 单元格样式。

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

在此处输入图像描述

4

1 回答 1

0

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

self.tableView.layoutMargins = UIEdgeInsetsZero
self.endTimeCell.separatorInset = UIEdgeInsetsZero
self.endTimeCell.layoutMargins = UIEdgeInsetsZero
于 2015-10-05T23:05:05.040 回答