【问题标题】:Need assistance regarding UITableViewCell SeparatorInset需要有关 UITableViewCell SeparatorInset 的帮助
【发布时间】:2015-05-27 10:53:25
【问题描述】:

1> 我的表格视图中有UITableViewCellUITableViewCell subclass cell。在UITableViewCell subclass cell 上设置SeparatorInset 不起作用?但如果我在UITableViewCell 上设置它,它可以正常工作。

2> 关于SeparatorInset 的苹果文档说:

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

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

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

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

【问题讨论】:

    标签: ios objective-c uitableview


    【解决方案1】:

    1)

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

    在自定义UITableViewCell 子类中,您正在定位自己的子视图,因此除非您在计算它们的位置时特别考虑separatorInset,否则它不起作用。

    2)

    separatorInset 不会将内容“推”到左/右,而是将(虚拟)插入添加到它们所在的容器中。所以如果例如您只有没有延伸到整个单元格宽度 (-100) 的标题,添加右插图后您不会看到任何差异。

    【讨论】:

    • 感谢您提供如此详细的答案,但请您告诉我您是如何找到所有这些信息的,Apple 文档中未指定。
    • 1) 的试验和错误以及 2) 的 'inset' througouth cocoa 的常见语义
    猜你喜欢
    • 2015-06-23
    • 2014-12-26
    • 2013-08-12
    • 2014-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多