返回

Masonry写法姿势大全,让约束属性随心所欲

IOS





## Masonry写法姿势大全

对于Masonry的一些基本使用,相信有点基础的iOS开发同学肯定或多或少都知道,本文旨在介绍具体设置约束属性的各种姿势,适合用过Masonry的同学阅读。
温馨提示:Masonry老手可以忽略本文。

### 约束属性的三种关系

约束属性有三种关系,分别是等于,大于,小于。

* **等于** :表示两个视图的大小相等。
* **大于** :表示第一个视图的大小大于第二个视图的大小。
* **小于** :表示第一个视图的大小小于第二个视图的大小。

### 约束属性的各种姿势

#### 1. 等于

设置两个视图的大小相等,可以使用如下方式:

[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.equalTo(view2);
make.height.equalTo(view2);
}];


#### 2. 大于

设置第一个视图的大小大于第二个视图的大小,可以使用如下方式:

[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.greaterThanOrEqualTo(view2);
make.height.greaterThanOrEqualTo(view2);
}];


#### 3. 小于

设置第一个视图的大小小于第二个视图的大小,可以使用如下方式:

[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.lessThanOrEqualTo(view2);
make.height.lessThanOrEqualTo(view2);
}];


#### 4. 同时设置多个约束属性

可以同时设置多个约束属性,使用如下方式:

[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.equalTo(view2);
make.height.equalTo(view2);
make.top.equalTo(view3);
make.left.equalTo(view4);
}];


#### 5. 设置约束属性的优先级

可以设置约束属性的优先级,使用如下方式:

[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.equalTo(view2).priorityLow();
make.height.equalTo(view2).priorityHigh();
}];


#### 6. 设置约束属性的激活状态

可以设置约束属性的激活状态,使用如下方式:

[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.equalTo(view2).active = NO;
make.height.equalTo(view2).active = YES;
}];


### 结语

以上介绍了Masonry中约束属性的各种用法,希望能帮助开发者更好地使用Masonry进行布局。