Masonry框架源码分析

Posted 码农的奋斗日记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Masonry框架源码分析相关的知识,希望对你有一定的参考价值。

相信大多数ios开发者对Masonry框架并不陌生 , 本文是笔者通读Masonry的代码之后的一篇总结, 也希望可以帮助大家更好的理解该框架. 怎奈笔者才疏学浅, 如有遗漏或错误也欢迎大家评论区指出, 大家一起进步!

 

iOS布局的演进

在说Masonry, 先简单介绍一下iOS开发屏幕适配的发展过程. 在iPhone3Gs/4/4s时代, 手机屏幕尺寸都是一样的, 对于开发者来说基本不用适配,彼时的屏幕布局基本都是采用frame, 但是随着iPad的出现, frame布局便不能满足需求, 苹果开始推出AutoResizing布局, 这种布局核心内容就是: 以父容器为参照物来对子空间进行frame布局, frame不再是直接写死的值, 而是可以根据父视图的大小变化, 但是这种布局方式的缺点也很明显, 就是不能设置兄弟视图之间的关系, 所有苹果煞费苦心的推出了AutoLayout, AutoLayout的出现基本弥补了AutoResizeing不足, iOS开发的屏幕适配变得更加轻松.

 

苹果原生AutoLayout布局与Masonry比较

虽然苹果的初衷很好, 但是无奈苹果的NSLayoutConstraint布局实在是太过于臃肿了, 所以在github开始涌现出各种各样的三方布局框架, 其中就有今天的主角Masonry. 笔者截取了部分布局代码大家感受一下

 
   
   
 


以上是关于Masonry框架源码分析的主要内容,如果未能解决你的问题,请参考以下文章

Masonry框架源码分析

Masonry 源码简单解析

Masonry 源码简单解析

Masonry 源码简单解析

Masonry 源码简单解析

iOS开发之Masonry框架源码解析