Ios 内容拥抱与自动收缩

Ios 内容拥抱与自动收缩,ios,objective-c,Ios,Objective C,我有一个UILabel,没有行=1,并且自动收缩设置为最小字体大小9。标签的字体大小为system 70.0 我已将内容拥抱优先级提高到1000。我这样做是假设标签的高度适合文本 但UILabel仍然无法调整自身大小以适应其内容。标签的高度很大。我希望标签的高度正好适合它的内容 谢谢。问题是您同时提供了前导和尾随空间,所以标签将拉伸自身以满足这些约束,因为标签具有固有大小(即它根据其内容计算大小),您只需要为x和y位置提供约束 因此,删除前导和尾随空间约束,只需使用“对齐中心x”和“对齐中

我有一个UILabel,没有行=1,并且自动收缩设置为最小字体大小9。标签的字体大小为system 70.0

我已将内容拥抱优先级提高到1000。我这样做是假设标签的高度适合文本

但UILabel仍然无法调整自身大小以适应其内容。标签的高度很大。我希望标签的高度正好适合它的内容


谢谢。

问题是您同时提供了前导和尾随空间,所以标签将拉伸自身以满足这些约束,因为标签具有固有大小(即它根据其内容计算大小),您只需要为x和y位置提供约束

因此,删除前导和尾随空间约束,只需使用“对齐中心x”和“对齐中心y”约束,这些约束就足以给出标签的x和y位置,您将获得所需的结果

编辑-添加屏幕截图

还要了解,这里我给出了尾随空间约束>=10,以便标签可以根据其内容调整自身大小

此外,如果您正在检查iphone 6屏幕,则自动缩小最小字体大小-9不适合屏幕宽度,请尝试将自动缩小最小字体大小设置为-6

上述约束的结果-

1.对于长文本

  • 对于小文本-

  • 我已删除前导和尾随空格约束。现在字体大小增加了,文本与UILabel不匹配。我希望文本适合标签,同时希望标签调整自身大小。您可以在此处检查输出。实际上,您的UIlabel大小根据其内容而增长,因为您已为x坐标指定了Align centerX。解决方案是删除“对齐中心X”约束,添加回前导和尾随约束,并自动缩小到最小字体大小。尾随空间的一个重要点是具有约束,因为尾随空间>=10尝试删除标签的中心x,现在输出与问题中所述的相同。标签不会自行调整大小。请按屏幕截图中的方式尝试。我正在ipad模拟器上运行它。输出是一样的。你能试着增加标签的高度并给它一个背景色吗。我猜文本将与底部对齐。您是否尝试在垂直尺寸上添加限制?e、 g.一个约束,使您的标签填充容器的高度,但优先级为500,以便内容拥抱优先。@Clafou我尝试添加一个高度约束,并将优先级设置为500,但结果是same@hackphone请编辑您的问题。你的问题不清楚,你应该把你的问题变成一个实际的问题,而不是陈述。@Crazyrems补充了更多的细节,我已经把我的问题说清楚了