需要有关UITableViewCell SeparatorInset的帮助

时间:2015-03-24 07:51:32

标签: ios objective-c uitableview

1>我的桌面视图中有UITableViewCellUITableViewCell subclass cell。在SeparatorInset上设置UITableViewCell subclass cell无效?但是如果我在UITableViewCell上设置它就可以了。

2 - ;有关SeparatorInset的Apple文档说:

  

您可以使用此属性在当前单元格之间添加空格   内容以及表格的左右边缘。正面插图   值将单元格内容和单元格分隔符向内移动并远离   桌边。将负值视为插入设置为   0

     

仅尊重左右插入值;顶部和底部   插入值被忽略。分配给此属性的值   优先于表视图上设置的任何默认分隔符插入。

一个。如果我在[cell setSeparatorInset:UIEdgeInsetsMake(0, 100, 0, 0)];上设置UITableViewCell,则会将内容推向正确的

但在[cell setSeparatorInset:UIEdgeInsetsMake(0, 0, 0, 100)];上设置UITableViewCell仅将分隔符推向左边而不是内容,为什么?

1 个答案:

答案 0 :(得分:1)

<强> 1)

UITableViewCell中,您有子视图无法直接编辑的位置(title,accessoryView,...)。 separatorInset可让您调整这些子视图的位置(换句话说,在这些子视图的位置计算过程中会考虑separatorInset)。

在自定义UITableViewCell子类中,您定位自己的子视图,因此除非您在计算其位置时特别考虑separatorInset,否则它无效。

<强> 2)

separatorInset不推送&#39;左/右内容,而是将(虚拟)插入添加到它们所在的容器中。如果是,例如你只有标题不会伸展到单元格的整个宽度(-100),你在添加右边插页后看不出任何差异。