您的位置:首页 > 其它

关于Masonry一些常用方法

2017-11-13 14:06 288 查看
整理印象笔记之Masonry实现Autolayout

关于Masonry一些常用的方法

目前比较流行的Autolayout第三方库

其内部封装了苹果Autolayout代码

提高了开发效率

安装

安装地址:https://github.com/SnapKit/Masonry

常用方法

UIView *testView = [[UIView alloc]init];
testView.backgroundColor = [UIColor redColor];
[self.view addSubview:testView];

//这个方法只会添加新的约束
[testView mas_makeConstraints:^(MASConstraintMaker *make) {

}];

//这个方法会将以前的所有约束删掉,添加新的约束
[testView mas_remakeConstraints:^(MASConstraintMaker *make) {

}];

//这个方法会覆盖以前的某些特定约束
[testView mas_updateConstraints:^(MASConstraintMaker *make) {

}];


关于控件本身大小

make.width.mas_equalTo(@100);
make.height.mas_equalTo(@100);
或
make.size.mas_equalTo(CGSizeMake(100, 100));

占self.view的比例再多80
make.size.mas_equalTo(self.view).multipliedBy(0.5).offset(80);


关于控件边距

//距离右边
make.right.mas_equalTo(self.view.mas_right).offset(-20);
//距离左边
make.left.mas_equalTo(self.view.mas_left).offset(20);
//距离顶部
make.top.mas_equalTo(self.view.mas_top).offset(20);
//距离底部
make.bottom.mas_equalTo(self.view.mas_bottom).offset(-20);
//位置居中
make.centerX.mas_equalTo(self.view);
make.centerY.mas_equalTo(self.view);
make.center.mas_equalTo(self.view);
//距离四周
make.edges.mas_equalTo(self.view).insets(UIEdgeInsetsMake(20, 20, 20, 20));


为了方便编码,添加宏定义可省去mas_前缀

需要在#import “Masonry.h”之前添加俩个宏定义

#define MAS_SHORTHAND
#define MAS_SHORTHAND_GLOBALS
#import "Masonry.h"


加完之后代码使用起来比较方便

make.width.equalTo(@100);
make.height.equalTo(@100);
或
make.size.equalTo(CGSizeMake(100, 100));
占self.view的比例再多80
make.size.equalTo(self.view).multipliedBy(0.5).offset(80);

//距离右边
make.right.equalTo(self.view.mas_right).offset(-20);
//距离左边
make.left.equalTo(self.view.mas_left).offset(20);
//距离顶部
make.top.equalTo(self.view.mas_top).offset(20);
//距离底部
make.bottom.equalTo(self.view.mas_bottom).offset(-20);
//位置居中
make.centerX.equalTo(self.view);
make.centerY.equalTo(self.view);
make.center.equalTo(self.view);
//距离四周
make.edges.equalTo(self.view).insets(UIEdgeInsetsMake(20, 20, 20, 20));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Masonry Autolayout