requiresConstraintBasedLayout
默认情况下,View的autoresizing工作会根据当前位置自动设置约束。我们在使用代码写自己的约束布局代码时,必须设置当前View的translatesAutoresizingMaskIntoConstraints为NO,否则无法正常运作。IB默认是NO。我们应该在自定义View中重写这个方法。如果我们要使用Auto Layout布局当前视图,应该设置为返回YES。
setNeedsUpdateConstraints
当一个自定义view的某个属性发生改变,并且可能影响到constraint时,需要调用此方法去标记constraints需要在未来的某个点更新,系统然后调用updateConstraints.
updateConstraintsIfNeeded
立即触发约束更新,自动更新布局。
-layoutIfNeeded方法
如果,有需要刷新的标记,立即调用layoutSubviews进行布局(如果没有标记,不会调用layoutSubviews)
自定义VIEW时,didMoveToWindow和willMoveToWindow方法会自动执行
关于Label的自动布局处理
preferredMaxLayoutWidth
http://www.cocoachina.com/industry/20131012/7148.html