AutoLayout动态调整UILabel高度和宽度

问题描述 投票:9回答:2

我有一个UILabel和One UIView在Storyboard中并排包含其他子视图。 UIView应该与UILabel的右边缘(尾随约束为1)对接,但我还需要UIlabel(左边的那个)来设置它的宽度等于它的内容大小,除非它达到最大宽度。视觉:

|标签文字| | UIViewWithSubviews |

我需要以下约束:

1)标签应该宽度调整宽度,除非它达到最大尺寸,高度也是动态的,这意味着当文本达到最大宽度时,自动换行会将句子分成另一行。和UIview将成为UIlabel的垂直。

2)UIView应始终与垂直中心的标签1的右边缘对接。

如何在Storyboard中进行设置?

提前致谢。

ios swift autolayout
2个回答
23
投票

这是你需要的吗?

enter image description here

这是我在Interface Builder中的表现。

enter image description here


8
投票

1)在UILabel上将“小于或等于”的宽度约束设置为所需的最大宽度。

2)将故事板中UILabel的行数设置为0.这将启用您要查找的包装。根本不要设置任何高度约束。

3)设置约束以使UIVabel垂直居中UIView。

4)你现有的其他约束听起来不错。只需确保UILabel具有清晰的x和y位置,例如通过锚定到superview的前缘和上缘。除了垂直居中和与UILabel的前沿对齐之外,还要确保UIView同样具有足够的约束。

© www.soinside.com 2019 - 2024. All rights reserved.