我应该使用哪些约束?

时间:2018-09-13 09:20:40

标签: xcode autolayout

我有一个TableViewCell,我希望它包含两个标签,两个标签都垂直位于单元格的中心,一个标签在左边框,一个标签在右边框(具有相应的文本对齐方式)。现在,右边的那一行应该保持1行(它只能是最多6位数字的数字),但是如果左边的那一行太大,并且会与右边的那一行重叠,我希望它能换行。

现在,我尝试了不同的方法,例如,我首先添加了正确的方法,并赋予它“到superview的跟踪空间= 0”和“在容器中垂直居中”的约束。 然后我添加了另一个,并将其约束设置为“到superview的引导空间= 0”,“到rightLabel的跟踪空间= 0”和“在容器中垂直居中”,并将行设置为0。

但是那没有用,没有换行,并且重叠了正确的标签。 我该如何实现?

1 个答案:

答案 0 :(得分:0)

您需要设置正确的内容拥抱和抗压缩优先级(默认情况下它们具有相同的值),这就是为什么系统不知道要打破哪个约束的原因。

尝试更改内容拥抱和抗压缩优先级,以使其不再相等。系统首先打破优先级最低的约束。

content-hugging and compression-resistance

选择标签。打开“大小”检查器,找到“内容拥抱优先级”和“抗压缩优先级”设置。更改优先级。