我应该在 UIView 子类中的什么地方安装我的自动布局约束?

Where should I install my auto layout constraints in a UIView subclass?

我正在对 UIView 进行子类化以构建自定义控件。我想在哪里添加我的子视图布局约束?

我已将它们添加到 init 中,但我认为除了初始化之外,这里不适合做任何事情。我不想在 layoutSubviews 中执行,因为我担心后续调用会重新创建约束。

这种东西放在什么地方比较合适?

这里有很多选项。我认为 initWithFrame:layoutSubviews(通过适当的检查以避免重复添加)都可以工作,但是 updateConstraints 是在子视图上安装约束的规范位置。您还需要避免在那里进行双重添加。

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