我应该在UIView子类中的哪里安装自动布局约束?

时间:2015-03-24 16:54:07

标签: ios objective-c uiview autolayout nslayoutconstraint

我将UIView子类化以构建自定义控件。我想在哪里添加布局约束?

我已经在初始化中添加了它们,但我认为这不是初始化之外做任何事情的合适位置。我不想在layoutSubviews中做,因为我担心后续调用会重新创建约束。

这种事情的正确位置是什么?

2 个答案:

答案 0 :(得分:3)

这里有很多选择。我认为initWithFrame:layoutSubviews(通过适当的检查以避免双重添加)都可以正常工作,但updateConstraints是在子视图上安装约束的规范场所。你还需要避免在那里加倍。

答案 1 :(得分:0)

创建约束并在创建视图层次结构后在init方法系列中添加它们。