如何使用自动布局使UILabel填充可用空间?

4
我有一个文本标签,里面的内容长度可能从几个单词到几段文字不等。我希望它的行为和HTML中的<p>标签类似。设置如下图:

Interface designer set up

它与左侧(“Equals 18 pixels”)、顶部(“Equals 31 pixels”)和右侧(“Greater than or Equal”)相连。

结果看起来像这样:

enter image description here

可以看出,自动布局是正确的,所有约束都得到满足,但这不是我想要的。它似乎缺少一项等式,告诉值标签在水平方向上填充最大空间。我该如何使用Storyboards进行设置?

2个回答

4
这应该就可以解决问题了:
  1. 移除右侧的约束。
  2. UILabel 拖拽到所需的宽度。
  3. 通过选择 UILabel 并使用 Editor > Pin > Trailing Space to Superview 菜单选项添加一个新的约束。

是的,这正是我想到的。可悲的是,无论标签是否比一行长,它们总是填满整行。 :((在我的情况下,这并不糟糕,但对于其他人可能不适用。) - gklka

0
选择您的UILabel,然后在“编辑”菜单中选择“适应内容大小”。 同时移除右侧约束(“大于或等于”)。 这样做,您的标签将水平拉伸以适应其内容。 这将解决您的问题。 :)

如上所述,我建议您删除右侧的约束条件(“大于或等于”)。希望这能帮到您。 - Mahesh
1
抱歉,我跳过了第二部分 :) 我已经尝试过了,但很遗憾,标签也无法占用可用空间。 - gklka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接