一.Masonry是什么:
答:是一個很好的三方,用來做適配的
二.怎么使用Masonry
1.先導入頭文件
#define MAS_SHORTHAND
#define MAS_SHORTHAND_GLOBALS//加上這兩個宏就不需要考慮父控件了
#import "Masonry.h"
2.添加約束
[confirmPayment mas_makeConstraints:^(MASConstraintMaker *make) {
}];
三.舉例說明
1.基本使用(一個控件的布局)
__weak typeof (self) weakSelf = self;//防止循環使用
[confirmPayment mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(weakSelf.view).with.offset(10);//距離上面10px
make.left.equalTo(weakSelf.view).with.offset(10);//距離左邊10px
make.bottom.equalTo(weakSelf.view).with.offset(-10);//距離下邊10px
make.right.equalTo(weakSelf.view).with.offset(-10); //距離右邊10px
make.center.equalTo(weakSelf.view);//位於該父視圖的中心
make.size.mas_equalTo(CGSizeMake(150, 60));//設置這個控件的大小
make.edges.mas_offset(UIEdgeInsetsMake(100, 10, 100, 10));//距離上左下右各為10px
}];
當導入宏
#define MAS_SHORTHAND
#define MAS_SHORTHAND_GLOBALS//加上這兩個宏就不需要考慮父控件了
make.top.equalTo(weakSelf.view).with.offset(10);//距離上面10px
等同於
make.top.equalTo(10)//距離上面10px
2.多個控件(兄弟控件的布局)
UIView *view2 = [[UILabel alloc]init];
view2.backgroundColor = [UIColor yellowColor];
[self.view addSubview:view2];
[view2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(100, 100));
make.centerX.equalTo(view1);//view2跟view1的中心X對齊
make.top.equalTo(view1.mas_bottom).with.offset(20);//view2距離view1的下面10px
}];