区块链技术博客
www.b2bchain.cn

Auto Layout布局深入理解求职学习资料

本文介绍了Auto Layout布局深入理解求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

在日常的iOS开发中,我们可能会用到多种布局方式。从最原始的frame布局,到基于约束的Auto Layout布局,后来苹果为了提升开发效率推出了基于Auto LayoutUIStackView的布局工具。Auto Layout布局相对于Frame布局具有维护效率更高,在布局思想上也更加先进,对于开发效率也有一定的提高。
今天我们主要来深入的了解一下Auto Layout布局的原理,更好的理解底层思想。

Auto Layout流程

Auto Layout拥有一套Layout Engine布局引擎,由它来控制布局。
当APP启动后,主线程会处于监听状态,当约束发生变化后会Auto Layout会重新计算布局,获取到具体布局后会调用superView.setNeedLayout(),然后进入 Deffered Layout Pass状态。Deffered Layout Pass主要是做容错处理,如果有些view在更新约束时没有确定或布局缺失的话,会在这里做容错处理。Deffered Layout Pass状态完成后进入监听约束结束的状态。当再次监听到约束变化的时候,就会进入下一轮的循环中。
接下来,Layout Engine会从上到下调用layoutSubviews(),通过Cassowary算法计算出各个子视图的位置,算出来后将子视图的frame从Layout Engine中拷贝出来。从而获取到子视图的具体位置进行布局。

在日常的iOS开发中,我们可能会用到多种布局方式。从最原始的frame布局,到基于约束的Auto Layout布局,后来苹果为了提升开发效率推出了基于Auto LayoutUIStackView的布局工具。Auto Layout布局相对于Frame布局具有维护效率更高,在布局思想上也更加先进,对于开发效率也有一定的提高。
今天我们主要来深入的了解一下Auto Layout布局的原理,更好的理解底层思想。

Auto Layout流程

Auto Layout拥有一套Layout Engine布局引擎,由它来控制布局。
当APP启动后,主线程会处于监听状态,当约束发生变化后会Auto Layout会重新计算布局,获取到具体布局后会调用superView.setNeedLayout(),然后进入 Deffered Layout Pass状态。Deffered Layout Pass主要是做容错处理,如果有些view在更新约束时没有确定或布局缺失的话,会在这里做容错处理。Deffered Layout Pass状态完成后进入监听约束结束的状态。当再次监听到约束变化的时候,就会进入下一轮的循环中。
接下来,Layout Engine会从上到下调用layoutSubviews(),通过Cassowary算法计算出各个子视图的位置,算出来后将子视图的frame从Layout Engine中拷贝出来。从而获取到子视图的具体位置进行布局。

在日常的iOS开发中,我们可能会用到多种布局方式。从最原始的frame布局,到基于约束的Auto Layout布局,后来苹果为了提升开发效率推出了基于Auto LayoutUIStackView的布局工具。Auto Layout布局相对于Frame布局具有维护效率更高,在布局思想上也更加先进,对于开发效率也有一定的提高。
今天我们主要来深入的了解一下Auto Layout布局的原理,更好的理解底层思想。

Auto Layout流程

Auto Layout拥有一套Layout Engine布局引擎,由它来控制布局。
当APP启动后,主线程会处于监听状态,当约束发生变化后会Auto Layout会重新计算布局,获取到具体布局后会调用superView.setNeedLayout(),然后进入 Deffered Layout Pass状态。Deffered Layout Pass主要是做容错处理,如果有些view在更新约束时没有确定或布局缺失的话,会在这里做容错处理。Deffered Layout Pass状态完成后进入监听约束结束的状态。当再次监听到约束变化的时候,就会进入下一轮的循环中。
接下来,Layout Engine会从上到下调用layoutSubviews(),通过Cassowary算法计算出各个子视图的位置,算出来后将子视图的frame从Layout Engine中拷贝出来。从而获取到子视图的具体位置进行布局。

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » Auto Layout布局深入理解求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们