修改常量后布局不变
Posted
技术标签:
【中文标题】修改常量后布局不变【英文标题】:Layout doesn't change after modifying constants 【发布时间】:2013-03-12 07:02:20 【问题描述】:我的UIViewController
上有一个UIView
。我使用 Editor -> Pin -> Width/Height 设置宽度和高度。我还创建了这些约束的IBOutlet
以编程方式更改宽度和高度。我写代码
在.h文件中
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *viewWidth;
@property (strong, nonatomic) IBOutlet NSLayoutConstraint *viewHeight;
在 .m 文件中
self.viewWidth.constant = 480;
self.viewHeight.constant = 644;
但它仍然没有改变视图的宽度和高度。我错过了什么吗? 提前致谢。
【问题讨论】:
【参考方案1】:更新常量后,需要调用-layoutIfNeeded
或-setNeedsUpdateConstraints
。
【讨论】:
【参考方案2】:这是一种无需 IBOutlet 以编程方式更新约束常量的解决方案。
Hide autolayout UIView : How to get existing NSLayoutConstraint to update this one
【讨论】:
以上是关于修改常量后布局不变的主要内容,如果未能解决你的问题,请参考以下文章