masonry的使用介绍
- 注意masonry两个宏的使用.
#define MAS_SHORTHAND //如果定义了这个宏,那么使用masonry的时候,就可以省略mas_前缀
//define this constant if you want to enable auto-boxing for default syntax
#define MAS_SHORTHAND_GLOBALS //如果定义了这个宏,那么它会把你传入的基本数据类型自动装箱成对象类型
/**** 注意:以上两个宏,只有定义在导入"Masonry.h"之前才有用,否则无效 *****/
第一种写法(常规)
[blueView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.view.mas_left).offset(50);
make.right.equalTo(self.view.mas_right).offset(-50);
make.top.equalTo(self.view.mas_top).offset(50);
make.bottom.equalTo(self.view.mas_bottom).offset(-50);
}];
设置上下左右四个距离,注意:右和底部,需要向上偏移所以需要写赋值
- 省略原则,当需要参照的控件在同一侧(左边对左边)可以省略参照控件的方向.
- 当偏移的值相同时,上左可以在一个里面写
[blueView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.equalTo(self.view).offset(50);
make.right.bottom.equalTo(self.view).offset(-50);
}];
- 一行代码搞定的简单布局,使用内边距,注意内边距都是正值.和offset不同
[blueView mas_makeConstraints:^(MASConstraintMaker *make) {
//设置内边距一句代码搞定(注意内边距)
make.edges.mas_equalTo(UIEdgeInsetsMake(50, 50, 50, 50));
}];
- 更新约束
//更新约束
[blueView mas_updateConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.view).offset(100);
}];
- 重置约束,重置相当于删除原来的全部约束.
//重置之前所有的约束(谁调用这个方法就重置谁的约束),重置相当于删除原来所有的约束
[blueView mas_remakeConstraints:^(MASConstraintMaker *make) {
//添加重置后你想设置的约束
make.left.top.equalTo(self.view).offset(100);
make.right.bottom.equalTo(self.view).offset(-50);
}];