Masonry(自动布局)的基本使用
在iOS开发中,为了满足开发者对苹果手机屏幕进行一个适配,苹果原生的也有自动布局去做到适应屏幕的一个适配,但是写的代码量特别的多,比较复杂,所以iOS开发者就对其进行了一个封装,那么今天就简单的介绍一下Masonry,Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 并具有高可读性 而且同时支持 iOS 和 Max OS X。 Masonry是一个用代码写iOS或os界面的库,可以代替Auto layout。 Masonry的github地址:https://github.com/SnapKit/Masonry
a.语法一般是 make.equalTo or make.greaterThanOrEqualTo or make.lessThanOrEqualTo + 倍数和位移修正。
b.mas_makeConstraints 是给view添加约束,约束有几种,分别是边距,宽,高,左上右下距离,基准线。添加过约束后可以有修正,修正 有offset(位移)修正和multipliedBy(倍率)修正。
c.使用 mas_makeConstraints方法的元素必须事先添加到父元素的中,例如[self.view addSubview:view]。
d.mas_equalTo 和 equalTo 区别:mas_equalTo 比equalTo多了类型转换操作,一般来说,大多数时候两个方法都是 通用的,但是对于数值元素使用mas_equalTo。对于对象或是多个属性的处理,使用equalTo。特别是多个属性时,必须使用equalTo,例如 make.left.and.right.equalTo(self.view).
e.注意到方法with和and,这连个方法其实没有做任何操作,方法只是返回对象本身,这这个方法的左右完全是为了方法写的时候的可读性 。make.left.and.right.equalTo(self.view);和make.left.right.equalTo(self.view);是完全一样的,但是明显的加了and方法的语句可读性 更好点。
示例代码 示例代码c:实现两个试图高度为150的试图垂直居中并且等宽等间距的排列,margin的大小为10.
示例代码以上是今天更新的,后面还会完善更多关于Masonry框架的解读和用法。
网友评论
https://github.com/zhenglibao/FlexLib