设置AutoLayout前导约束以将标签正确放置在自定义UITableViewCell中

时间:2016-05-26 11:13:16

标签: ios uitableview ios-autolayout

默认的UITableViewCell布局遵循惯例,即最左边的标签准确地从单元格分隔线开始的位置开始(separatorInset)。我必须创建一个自定义UITableViewCell,它将沿着具有默认布局的单元格显示,所以我希望我的标签准确地从默认值开始。

如何设置标签的前导约束以将其放置正确?

这是我的测试:

  1. 单元格(绿色):距离左边缘16 px,无边距
  2. 单元格(红色):距离左边缘20 px,没有边距
  3. 单元格(蓝色):距左边距12 px
  4. 单元格(白色):“基本”默认单元格布局
  5. 小屏幕(3.5“,4”,4.7“)

    Small screens

    大屏幕(5.5“,iPad)

    Big screens

    正如您所看到的,在小屏幕因素上,separatorInset为16像素,在大屏幕上为20像素。保证金不能按预期工作:无论屏幕有多大,它都是8像素。

1 个答案:

答案 0 :(得分:0)

我找到了正确的解决方案:您必须使用基于大小类的约束值,如下所示:

Label left constraint

您必须将默认约束值设置为16,按常量字段旁边的小加号按钮,添加常规宽度>任何高度并输入20进入新的领域。