#import "RootViewController.h"
// 引入头文件
#import "Masonry.h"
@interface RootViewController ()
@end
@implementation RootViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
#pragma mark label
// 添加约束,不需要设置frame
UILabel *label = [UILabel new];
label.backgroundColor = [UIColor redColor];
// 添加父视图,视图添加完成后才能进行布局
[self.view addSubview:label];
// 布局实现label方法
[label mas_makeConstraints:^(MASConstraintMaker *make) {
// 距离上边50
// make:相当于你要布局的视图
// equalTo(参照视图对象),如果参照视图是self.view,可以不设置参照视图的属性
// offset(距离数值)
make.top.equalTo(self.view).offset(50);
// 距离左边100
make.left.equalTo(self.view).offset(100);
// 距离右边100
make.right.equalTo(self.view).offset(-100);
// 距离下边500
make.bottom.equalTo(self.view).offset(-500);
}];
#pragma mark label1
UILabel *label1 = [UILabel new];
label1.backgroundColor = [UIColor greenColor];
[self.view addSubview:label1];
// 布局实现label1方法
// 先布局参照视图,否则约束容易丢失
[label1 mas_makeConstraints:^(MASConstraintMaker *make) {
// equalTo(自定义视图),需要设置视图的属性
// 如果数值为0,可以不写offset()
make.top.equalTo(label.mas_bottom).offset(50);
make.leading.equalTo(label.mas_leading);
make.trailing.equalTo(label.mas_trailing);
// 高度60
// mas_equalTo(数值)
make.height.mas_equalTo(60);
}];
#pragma mark label2
UILabel *label2 = [UILabel new];
label2.backgroundColor = [UIColor grayColor];
[self.view addSubview:label2];
// 设置距离参照视图的内边距 (上左下右)
UIEdgeInsets padding = UIEdgeInsetsMake(400, 100, 100, 100);
// 布局实现label2方法
// 先布局参照视图,否则约束容易丢失
[label2 mas_makeConstraints:^(MASConstraintMaker *make) {
// 设置约束视图的边界距离self.view的边界值
make.edges.equalTo(self.view).insets(padding);
// make.top.equalTo(self.view).offset(400);
// make.left.equalTo(self.view).offset(100);
// make.right.equalTo(self.view).offset(-100);
//
// make.bottom.equalTo(self.view).offset(-100);
}];
#pragma mark label3
UILabel *label3 = [UILabel new];
label3.backgroundColor = [UIColor orangeColor];
[self.view addSubview:label3];
[label3 mas_makeConstraints:^(MASConstraintMaker *make) {
// 设置中心点一致
make.center.equalTo(label2);
// 设置大小
// make.width = label2.width - 40
// make.heigth = label2.height - 60
make.size.equalTo(label2).sizeOffset(CGSizeMake(-40, -60));
}];
}
@end