在一个 Runloop 处理完事件后,最后进入 Update cycle:oop
相似于 layoutSubviews 的机制。布局
只应该在此方法中实现必需要更新的约束,静态的约束应在interface builder、视图的初始化方法或 viewDidLoad() 方法中指定。ui
不该直接调用,应调用触发方法让系统处理事件
自动标记约束发生变化,在下一个周期会触发 updateConstraints 的行为:class
相似于 setNeedsLayout 的机制,手动标记发生变化,下周期调用 updateConstraints 更新date
相似于 layoutIfNeeded 的机制,检查视图的约束是否被标记发生变化,若有变化当即调用 updateConstraints方法
设置一个标记表示这个视图的 intrinsicContentSize 已通过期,须要在下一个布局阶段从新计算。layout
视图的 intrinsicContentSize:视图根据本身内容获得的天然尺寸,一般由包含元素的约束约定,也能够自定义di
处理对视图及其全部子视图的从新定位和大小调整 会调用子视图的 layoutSubviews,开销很大view
不该直接调用,应调用触发方法让系统处理
自动标记视图的布局发生变化,在下一个周期会触发 layoutSubviews 的行为:
手动标记该视图的布局发生变化,在下一个周期调用 layoutSubviews 更新
检查视图的布局是否被标记发生变化,若有变化当即调用 layoutSubviews
相似于 layoutSubviews 的机制,但不会触发对子视图方法的调用
不该直接调用,应调用触发方法让系统处理
自动标记视图显示发生变化,在下一个周期会触发 drawRect 的行为:
相似于 setNeedsLayout 的机制,手动标记发生变化,下周期调用 drawRect 更新
显示方法没有相似 layoutIfNeeded 的方法