【问题标题】:Best place for adding autolayout constraints in code在代码中添加自动布局约束的最佳位置
【发布时间】:2015-09-24 04:30:08
【问题描述】:
以编程方式添加自动布局约束的最佳位置是什么?对于自定义视图和控制器也是如此。有些人在init() 方法中执行此操作,其他人使用updateConstraints()(带有保证约束只添加一次的标志)。我观看了所有 WWDC 视频并阅读了 Apple 的所有示例代码,但我很困惑,因为我找不到答案。每个人的做法都不一样。那么从代码中添加约束的最佳方法是什么?
【问题讨论】:
标签:
ios
autolayout
constraints
【解决方案1】:
没有在代码中添加自动布局约束的最佳位置。这完全取决于您的实现是什么,以及您想要实现或做什么。
这也是为什么每个人的做法都不同的原因。
【解决方案2】:
在我看来,没有最好的方法。只要视图已初始化,您就可以在任何地方应用约束。我通常在调用-willLayoutSubviews 之前应用约束,因此我的约束将在初始布局周期中考虑,我不必显式调用布局。您可以根据需要最早在 -init 覆盖时应用它们,并且可以在需要时应用它们。如果您在初始布局调用后的某个时间点修改约束,请记住调用 -layoutIfNeeded。