通过cocoaPod添加Masonry三方, 或者手动添加三方
ViewController.m
1.
#if 1
// 创建一个view
UIView *view = [UIView new];
view.backgroundColor
----------
= [UIColor purpleColor];
[self.view addSubview:view];
// 300*300 居中显示的矩形
[view mas_makeConstraints:^(MASConstraintMaker *make) {
// 设置中心
make.center.equalTo(self.view);
// 设置大小
make.size.mas_equalTo(CGSizeMake(300, 300));
}];
// 1. make方法只负责增加新的约束, 但是不能同时出现两条出现同一对象的约束, 否则会报错
// 2. update方法针对上面的情况, 会更新约束, 以确保不会出现两条相同的约束
// 3. remake方法会清除掉之前所有的约束, 并重新创建一个
#endif
2.
#if 1
// 创建一个view, 略小于上级视图
UIView *view1 = [UIView new];
view1.backgroundColor = [UIColor purpleColor];
// 一定要先将view贴到上级视图上, 再创建约束, 否则会报错
[self.view addSubview:view1];
// 偏移量15
[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
// 第一种
// make.top.equalTo(self.view.mas_top).with.offset(15);
// make.left.equalTo(self.view).with.offset(15);
// make.bottom.equalTo(self.view).with.offset(-15);
// make.right.equalTo(self.view).with.offset(-15);
// 第二种
// make.top.and.left.and.bottom.and.right.equalTo(self.view).insets(UIEdgeInsetsMake(15, 15, 15, 15));
// 第三种
make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(15, 15, 15, 15));
}];
#endif
#if 1
// 两个高度为150的view, 居中且等宽, 等间距, 宽度自动计算
UIView *view1 = [UIView new];
view1.backgroundColor = [UIColor purpleColor];
[self.view addSubview:view1];
UIView *view2 = [UIView new];
view2.backgroundColor = [UIColor purpleColor];
[self.view addSubview:view2];
[view1 mas_makeConstraints:^(MASConstraintMaker *make) {
// 设置对称轴, 与上级视图的对称轴相同
make.centerY.equalTo(self.view.mas_centerY);
make.left.equalTo(self.view).with.offset(15);
// 因为view1的右侧, 是相对于view2的左侧而言, 所以这里要给view2加上mas_left这个属性
make.right.equalTo(view2.mas_left).with.offset(-15);
make.height.mas_equalTo(150);
make.width.equalTo(view2);
}];
[view2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.view.mas_centerY);
make.left.equalTo(view1.mas_right).with.offset(15);
make.right.equalTo(self.view).with.offset(-15);
make.height.equalTo(view1);
make.width.equalTo(view1);
}];
#endif