AutoLayout动态调整UILabel高度和宽度

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AutoLayout动态调整UILabel高度和宽度相关的知识,希望对你有一定的参考价值。

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

|标签文字| | UIViewWithSubviews |

我需要以下约束:

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

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

如何在Storyboard中进行设置?

提前致谢。

答案

这是你需要的吗?

enter image description here

这是我在Interface Builder中的表现。

enter image description here

另一答案

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

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

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

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

以上是关于AutoLayout动态调整UILabel高度和宽度的主要内容,如果未能解决你的问题,请参考以下文章

IOS - UIView中使用AutoLayout的UILabel动态高度

markdown UIScrollView中的动态UILabel高度与Autolayout

基于UILabel的UICollectionViewCell AutoLayout动态高度

AutoLayout 将 UILabel 高度设置为零

基于UILabel的动态UICollectionView标头大小

在iOS中使用autolayout调整内容大小的UILabel