ShowAutoLayout icon indicating copy to clipboard operation
ShowAutoLayout copied to clipboard

AutoLayout 生命周期的一些疑问

Open wellcheng opened this issue 7 years ago • 1 comments

在 Objccn 中,这样描述: 第一步:更新约束,可以被认为是一个“计量传递 (measurement pass)”。这是自下而上(从子视图到父视图)发生的,它为布局准备好必要的信息,而这些布局将在实际设置视图的 frame 时被传递过去并被使用。你可以通过调用 setNeedsUpdateConstraints 来触发这个操作,同时,你对约束条件系统做出的任何改变都将自动触发这个方法。无论如何,通知自动布局关于自定义视图中任何可能影响布局的改变是非常有用的。谈到自定义视图,你可以在这个阶段重写 updateConstraints 来为你的视图增加需要的本地约束。

请问这个怎么理解,为什么更新约束是从子视图到父视图?

第二步中的 layoutSubviews 从父视图到子视图,我能理解,因为子视图需要父视图确定后,来决定自己的布局。

非常感谢,这个问题困扰比较久了

wellcheng avatar Jun 11 '17 11:06 wellcheng

😁

wellcheng avatar Jun 11 '17 11:06 wellcheng