我对 Swift 有点陌生,我需要一些帮助:
我在 UIView 中有一个 UILabel,这个标签可以接收任意数量的文本。所以我想根据它收到的文本调整 UILabel 的大小,并调整其容器 UIView 的大小。 UILabel 必须有最大宽度但不是最大高度。这与 Whatsapp 中发生的消息文本非常相似(他的绿色容器相应地增长了里面的文本)。
我相信它是关于自动布局的,但我真的无法理解其中的大部分内容。
编辑:动态创建。
谁能帮帮我?
最佳答案
那么包含 Label 的 UIView 不应该有固定的高度。 只需添加约束来设置 UIView 宽度和 X/Y 坐标。
在其中,UILabel 应该对 UIView 的顶部/底部和右侧/左侧有固定的约束,并将它的 numberOfLines 设置为 0
有了这些约束,容器 View 将展开以根据文本调整高度。
见附件截图
添加标签约束(固定约束到所有 UIView 边缘)
带有短文本的结果
长文本结果
关于Swift - 如何根据 UILabel 大小(在内部)调整 UIView 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49934650/