介绍
Masonry是一款轻量级的布局框架,拥有自己的描述语法,采用链式语法封装自动布局,具有较高可读性。并且同时支持iOS和OS X。
下载地址:https://github.com/Masonry/Masonry
配置
推荐使用pod进行管理安装:
- 打开终端,‘pod search masonry’,得到当前可用版本
- 进入工程主目录,编辑PodFile, 增加 ‘pod‘masonry’’
- 在终端进入工程主目录,执行‘pod update’
使用
关键词 | 含义 |
---|---|
mas_makeConstriaints | 添加约束 |
mas_updateConstrianints | 更新约束 |
mas_remakeConstrianints | 删除约束 |
equalTo | 等于 |
mas_equalTo | 等于(对equalTo的装箱操作) |
lessOrEqualTo | 小于等于 |
greaterThanOrEqualTo | 大于等于 |
priorityLow() | 优先级低 |
注意点
- equalTo与mas_equalTo的区别:
equalTo与mas_equalTo代表的含义都是等于某一值,但是mas_equalTo比equalTo多了类型转换操作,一般来说,两种方法是通用的,但是对于数值操作使用mas_equalTo, 对于对象和多个属性的处理,使用equalTo。 - 用mas_makeConstraints的那个view需要在addSubview之后才能用这个方法
- 方法and和with只是为了可读性,返回自身,比如make.left.and.right.equalTo(self.view)和make.left.right.equalTo(self.view)是一样的。
- 因为iOS中原点在左上角所以注意使用offset时注意right和bottom用负数
- 如果运行在iOS7以下版本时,equalTo如果指向父视图的父视图或者与父视图同级的其他视图时,会造成程序crash