月圆之夜,紫禁之巅,一剑西来,天外飞仙。

0%

iOS学习笔记 -- Masonry的基本使用

最近在学习使用Masonry,在这里简单的做个分享。


Masonry主要有3个核心函数:

1
2
3
4
5
6
7
8
// 构建约束
mas_makeConstraints

// 更新约束 - 修改已经建立的约束,如果约束不存在,会在控制台输出错误
mas_updateConstraints

// 删除已经建立的所有约束,然后重新生成约束
mas_remakeConstraints

应用举例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
UIView *redView = [[UIView alloc]init];

[self.view addSubview:redView];

//构建约束
[redView mas_makeConstraints:^(MASConstraintMaker *make) {
//约束条件
}];

//更新约束
[redView mas_updateConstraints:^(MASConstraintMaker *make) {
//约束条件
}];

//删除约束重新添加
[redView mas_remakeConstraints:^(MASConstraintMaker *make) {
//约束条件
}];

几个方法:

1
2
3
4
equalTo(参照对象)
offset(CGFloat) 偏移量
dividedBy(),除以某个量,用以实现按比例设置约束
multipliedBy(),乘以某个量

举例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
make.top.left.equalTo(self.view).offset(10);//距上,左10个单位

make.bottom.right.equalTo(self.view).offset(-10);//距下,右10个单位

make.edges.equalTo(self.view).insets(UIEdgeInsetsMake(20, 20, 20, 20));//边距20个单位

make.height.equalTo(self.view).dividedBy(2);//宽 父视图的宽除以2

make.size.mas_equalTo(CGSizeMake(100, 100));//长 100 单位 宽 100单位

//动画
[UIView animateWithDuration:2.0 animations:^{
[self.view layoutIfNeeded];
}];

仅个人见解,如有错误请见谅!