在 Swift 中向 UILabel 动态添加行

Posted

技术标签:

【中文标题】在 Swift 中向 UILabel 动态添加行【英文标题】:Dynamically Add Lines to UILabel in Swift 【发布时间】:2015-01-05 08:48:16 【问题描述】:

我有一个带有 UILabel 的基本 UIViewController,我想在运行时动态填充它。我希望 UILabel 周围的元素随着 UILabel 的扩展而移动。我添加了应该允许这样做的约束,但我无法对其进行测试,因为我的行没有像应有的那样包裹在标签上。我已将属性检查器中的行数设置为 0,并将换行模式更改为自动换行。但是,UILabel 框的高度不会扩大以考虑文本量。我该如何设置呢?谢谢!!

【问题讨论】:

【参考方案1】:

您的约束未正确创建。

我建议您创建一个新项目并从两个标签开始,以更好地了解autolayout 的工作原理。

尝试删除您的Height-ConstraintAutolayout 会认为它需要在您的情况下保持 21 的高度。 如果您删除它或将其设置为低优先级,它应该可以工作。

我重新创建了您的示例并使其正常工作:

【讨论】:

你是对的。我需要学习如何更好地控制我对约束的使用。我通常使用 ios 建议的约束。谢谢你的帮助!!

以上是关于在 Swift 中向 UILabel 动态添加行的主要内容,如果未能解决你的问题,请参考以下文章

在自动布局中向 UILabel 添加填充

如何在 UIStackView IOS 中向 UILabel 添加前导填充

使用swift在UiStackview中设置UiLabel的高度

基于UILabel的动态UICollectionView标头大小

UILabel 动态调整大小 - Swift

如何在 Swift 4 中向 UIView 添加子视图?