什么是Masonry
Masonry 就是第三方为我们封装好的一个 AutoLayout 框架。其使用点语法,可以非常便利的添加 AutoLayout约束,且通俗的语法让人非常容易理解。
如何使用Masonry
Masonry的使用方法十分简单
第一步:配置CocoaPod
这里不做讲解,具体可以参考下面的一篇博客 2021年CocoaPods安装方法
在你的项目中创建Podfile文件
首先打开终端输入命令cd 你的文件项目路径,可以直接拖入终端,如下所示: 接下来输入touch Podfile 命令创建Podfile。 输入vim Podfile 命令修改Podfile文件 加入以下几句话: 在修改前一定要按一下i ,否则无法修改
platform :ios, '9.0'
target 'text' do // text为工程名
pod 'Masonry' // 引号内为添加的库
修改完之后按Esc ,输入:wq ,退出编辑 最后输入pod install,这样Podfile文件就配置完成了。
根据需要在代码中使用
下面是Masonry的一些API:
mas_makeConstraints()
mas_remakeConstraints()
mas_updateConstraints()
equalTo()
mas_equalTo()
width()
mas_width()
可以注意到这些API都带有前缀mas_,我们可以在引入Masonry头文件前加入两个宏定义,就可以不用加前缀了。
#define MAS_SHORTHAND
#define MAS_SHORTHAND_GLOBALS
以下是Masonry的一些基本属性: 其基础的设置属性如下:
1.尺寸:width、height、size。 2.边界:left、leading、right、trailing、top、bottom、edges。 3.中心点:center、centerX、centerY。 4.偏移量:offset、insets、sizeOffset、centerOffset。 5.priority()约束优先级(0~1000),multipler乘因数,dividedBy除因数 。
大小关系有三种:
1.equalTo ,相等。 2.lessThanOrEqualTo ,小于等于。 3.greaterThanOrEqualTo ,大于等于。
Masonry是非常方便的,它可以通过点语法来使用,我们只需要在约束中设置即可。 如下使用:
- (void)viewDidLoad {
[super viewDidLoad];
_startButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[_startButton setTitle:@"上传头像" forState:UIControlStateNormal];
_startButton.tintColor = [UIColor blackColor];
_startButton.titleLabel.font = [UIFont systemFontOfSize:25];
_startButton.backgroundColor = [UIColor systemGrayColor];
[_startButton addTarget:self action:@selector(pressButton) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:_startButton];
[_startButton makeConstraints:^(MASConstraintMaker *make) {
make.width.and.height.equalTo(150);
make.centerX.equalTo(self.view.centerX);
make.centerY.equalTo(self.view.centerY);
}];
}
注意这里添加约束一定要在addSubview语法后,不然就会引发错误。 文章参考:iOS——Masonry详解
小demo利用Masonry重写上传头像
完整代码上传在github。 MasonryDemo
|