内容拥抱优先级的行为与自动布局不同

时间:2018-10-04 07:52:19

标签: ios swift autolayout storyboard nslayoutconstraint

虽然学习内容具有优先权,但我想出了一个奇怪的方案,但我采用了2个标签,即1个绿色和2个蓝色。

这些标签的内容拥抱优先级类似

绿色-水平拥抱优先级200

蓝色-水平拥抱优先级251

enter image description here

Green.text =“你好”

Blue.text =“你好吗,祝你有美好的一天,大文字 enter image description here

此处绿色标签的文本被截断,蓝色将显示全文。

现在的问题是,当我尝试颠倒标签和文本的优先级时,它的工作方式与上述不同。

新优先级现在为

绿色-横向优先251

蓝色-水平拥抱优先级200

Green.text =“你好吗,祝你有美好的一天,大字

Blue.text =“你好” enter image description here

现在我想绿色应该显示所有文本而不是将其截断,而蓝色应该被截断。但是它没有发生,所以我想知道为什么这不起作用?我想念还是想念这个概念?

如果我错了,请纠正我。谢谢

2 个答案:

答案 0 :(得分:2)

您需要增加绿色标签的抗内容压缩优先级。 enter image description here

答案 1 :(得分:1)

尝试在堆栈视图的(属性检查器)“分布”类别的下拉菜单中选择“按比例填充”。

确保已在堆栈视图中被选中。 单击属性检查器菜单 点击分发,然后选择“按比例填充”

以这种方式不确定是否甚至需要对每个元素的“内容压缩抵抗优先级”或“内容拥抱优先级”执行任何操作;您可以尝试使用此方法,也可以不使用它(具有较低“压缩阻力”设置的元素可以进行压缩,而“拥抱优先级”数越高,则该元素将倾向于占用更多空间),看看它是否有其他作用。

对我来说,“按比例填充”解决了整个问题,我将上述两个优先级重新调整为中立(每个元素的编号相同)。在拍摄此图像之前,“棒球日落者”被截断了,因为它和数字元素(“ 1”)在堆栈视图中占据了相同数量的水平空间。之后(照片):名称标签移到右侧,成员标签被压缩(不使用压缩或拥抱优先级)

有时候内容拥抱效果很好,但请查看其文档以获取更多详细信息。note: Fill Proportionately menu