Autolayout:具有可变高度和两个标签的表格单元格

时间:2015-05-17 16:23:31

标签: ios cocoa-touch autolayout

我遇到了一些高级的Autolayout主题,我需要你的帮助。

我有一个简单的自定义表格单元格,左侧标签固定,右侧固定标签,非常简单:

enter image description here

现在,我希望左侧标签始终位于左上角,一行高,并根据内容缩放其宽度,最大为可用空间的50%(如果内容大于此值,我希望用点来切断它们:

enter image description here

正确的标签我想要始终位于右上角,向左增长,直到到达左侧标签的右边框。根据左侧标签的宽度,右侧标签的宽度可能会变宽或变薄:

enter image description here

现在,如果内容不适合正确的标签,我希望它使用几行来改变单元格的大小,但仍然尊重左标签的大小:

enter image description here

我知道如何让标签自动增长表格单元格,但我不知道如何正确配置左右标签之间的关系。

有人可以帮我吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您需要以下约束:

  • leftLabel上的宽度约束,表示它应小于或等于超级视图的width / 2。赋予此约束优先级1000(绝对必需)。
  • leftLabel跟踪rightLabel前导的水平间距约束,优先级高于上述但仍需要(例如900)。< / LI>
  • 使leftLabel的水平内容拥抱优先级为1000

如何在XIB中执行第一个约束:

基本上只有Ctrl + left click到超级视图{@ 1}},添加leftLabel约束,然后将约束修改为Equal Widths而不是<=。同时修改=;而不是Multiplier,将其设为11:2,其中2对应于超级视图的宽度。