【发布时间】:2016-03-04 04:17:48
【问题描述】:
我的故事板中有一个静态UITableView,它结合了系统单元和自定义单元。为了使自定义单元格看起来像系统单元格,我从 UILabel 的前面添加了一个 15 点约束到单元格的 contentView(以匹配 15 点的默认分隔符插入)。
这种策略在 table view 是纵向时效果很好,但在横向时看起来约束会缩小,如下所示:
您可以在上图中看到“BUG REPORTING”部分标题,“Report a Bug”标签(由系统单元格定位),并且两个单元格之间的线都距离 contentView 的左侧 15 个点侧,但“记录”标签更近。
我尝试将标签限制在 contentView 上,边距打开和关闭,结果是一样的。当自定义标签的约束与 contentView 左侧的距离明显相同时,它们甚至会报告不同的常量值。
有人知道怎么回事吗?
【问题讨论】:
-
在您的第一张图片中,您的常量值为 7,您能解释一下吗?
-
当然。边距设置为 8,因此通过使用恒定值 7 约束边距,我得到了所需的 15 点偏移。
-
似乎,当您将设备旋转到横向模式时,默认单元格标签的左侧填充增加。可能就像设备处于纵向模式时,textLable 的左填充为 15pts,而在横向模式下为 20pts。您可以创建标签前导空间约束的出口并在 viewWillRotate: 方法中更新其值。另请参阅 Vignesh 的答案。
-
你说得对,插图正在改变。
标签: ios autolayout uitableview