动态更改自动约束宽度

Posted

技术标签:

【中文标题】动态更改自动约束宽度【英文标题】:Dynamically change auto constraints width 【发布时间】:2015-02-09 22:07:46 【问题描述】:

我有一个带有自动布局的自定义单元格。我为标签添加了宽度约束。有没有办法动态改变它的宽度? (例如当用户旋转 iphone 时)

【问题讨论】:

【参考方案1】:

当您创建约束或在 XIB 文件中创建约束时,将对该约束的引用保存在变量中。然后,当您需要更改宽度时,您可以更改约束的 .constant 属性。

常量属性几乎是约束分配给视图后唯一可以更改的属性。

由于在 Storyboard 中创建了约束,因此创建一个从约束到包含被约束视图的视图控制器中的变量的出口。然后,在适当的时候,更改约束的“常量”属性。

【讨论】:

你能把代码贴在你创建约束的地方吗? 在storyBoard中添加约束 @MikeRally 您可以像任何其他 UI 元素一样将IBOutlet 转换为NSLayoutConstraint。在您的代码中声明它,然后从您的 Storyboard 链接到它。就像UILabelUIButton 等...

以上是关于动态更改自动约束宽度的主要内容,如果未能解决你的问题,请参考以下文章

动态更改 UILabel 宽度不适用于自动布局

UICollectionView 单元格在swift中使用约束固定宽度和动态高度

更改方向的自动布局约束

Interface Builder 中的自动布局根据外部视图的宽度/高度更改布局

如何使用固定宽度和自动布局正确缩放图像?

使用自动布局以编程方式调整标签宽度