#import "RootViewController.h"
#import "Masonry.h"
@interface RootViewController ()

@end

@implementation RootViewController

- (void)viewDidLoad {
    [super viewDidLoad];
#pragma mark label
    // 添加约束,不需要这只frame
    UILabel *label = [UILabel new];
    label.backgroundColor = [UIColor redColor];
    // 添加父视图,视图添加完成之后才能进行布局
    [self.view addSubview:label];

    // 布局,实现布局方法
    [label mas_makeConstraints:^(MASConstraintMaker *make) {
        // 距离上面50
        // make:相当于你要布局的视图,equalTo(参照视图的对象),如果参照视图是self.view,可以不设置参照视图的属性(就是top)
        make.top.offset();

        // 距离左边100;
        make.left.offset();

        // 距离右边100

        make.right.equalTo(self.view).offset(-);

        // 距离下面500
        make.bottom.equalTo(self.view).offset(-);

    }];

#pragma mark label1

    UILabel *label1 = [UILabel new];
    label1.backgroundColor = [UIColor greenColor];
    [self.view addSubview:label1];

    // 布局label1
   //  先布局参照视图,否则约束容易丢失
    [label1 mas_makeConstraints:^(MASConstraintMaker *make) {
        //和label左边一致
        // equalTo(自定义视图),需要设置视图的属性
        // 如果是数值为0可以不写offset()
        make.leading.equalTo(label.mas_leading);
        //和label右边一致
        make.trailing.equalTo(label.mas_trailing);
        //上边距离label50
        make.top.equalTo(label.mas_bottom).offset();
        // 高度60
        // mas_equalTo(数值)
        make.height.mas_equalTo();
    }];

#pragma mark label2

    UILabel *label2 = [UILabel new];
    label2.backgroundColor = [UIColor cyanColor];
    [self.view addSubview:label2];
    // 设置距离参照视图的内边距(上左下右)
    UIEdgeInsets padding = UIEdgeInsetsMake(, , , );

    [label2 mas_makeConstraints:^(MASConstraintMaker *make) {
//        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);
        // 设置约束视图的边界距离self.view边界值
        make.edges.equalTo(self.view).insets(padding);
    }];

#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.height = label2.height - 60
        make.size.equalTo(label2).sizeOffset(CGSizeMake(-, -));

    }];

}

Masonry的简单使用-LMLPHP

05-08 15:26