Cocoa touch NSLayoutContrain&x27的生命周期是什么;UIView子类中有什么?

Cocoa touch NSLayoutContrain&x27的生命周期是什么;UIView子类中有什么?,cocoa-touch,ios7,autolayout,nslayoutconstraint,Cocoa Touch,Ios7,Autolayout,Nslayoutconstraint,我想了解如何自定义任何UIControl子视图的布局,因此我开始使用ui按钮。我发现我可以对它进行子类化,覆盖layoutSubviews,然后说出我想要每个子视图的帧(即它的UILabel和UIImageView)。但后来我在ui视图参考资料中读到了这一点 LayoutSubview-如果您需要比约束或自动调整大小行为提供的更精确地控制子视图的布局,请实现此方法 因此,我想我可能只是为标签和imageView添加一些约束,但后来我发现一些约束已经存在,并且与我的约束冲突(具体地说,[image

我想了解如何自定义任何
UIControl
子视图的布局,因此我开始使用
ui按钮。我发现我可以对它进行子类化,覆盖
layoutSubviews
,然后说出我想要每个子视图的帧(即它的
UILabel
UIImageView
)。但后来我在
ui视图
参考资料中读到了这一点

LayoutSubview-如果您需要比约束或自动调整大小行为提供的更精确地控制子视图的布局,请实现此方法

因此,我想我可能只是为标签和imageView添加一些约束,但后来我发现一些约束已经存在,并且与我的约束冲突(具体地说,
[image]-0-[label]
one)。通过调试(打印所有我的视图和子视图的
constraints
属性,并在每个人上调用
constraintsEffectingLayoutForAxis:
),我还发现这样的约束在我添加自己的约束之前不会创建,或者至少不会显示。如果我不先添加一些自己的约束,甚至不调用
layoutifneed
。我查找了它,但找不到是否有一种方法(例如,
updateConstraints
)可以创建我可以通过重写来防止的约束,或者至少有一种方法可以获取对这些约束的引用并删除我不想要的约束

我很困惑,找不到任何关于
ui按钮的内部约束是何时以及如何创建的苹果官方文档