zoukankan      html  css  js  c++  java
  • Masonry第三方代码约束

    #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 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.offset(-100);

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

    }];

    #pragma mark - label1

    // 添加约束,不需要设置frame
    UILabel *label1 = [UILabel new];
    label1.backgroundColor = [UIColor greenColor];

    // 添加到父视图上,视图添加完成后才能进行布局
    [self.view addSubview:label1];


    // 先布局参照视图,否则约束容易丢失
    [label1 mas_makeConstraints:^(MASConstraintMaker *make) {

    // 和label左边一致
    // equalTo(自定义的视图),需要设置视图的属性,如果数值为0,可以不写offset()
    make.leading.equalTo(label.mas_leading);

    // 和label右边一致
    make.trailing.equalTo(label.mas_trailing);

    // 上边距离label 50
    make.top.equalTo(label.mas_bottom).offset(50);

    // 高度60
    make.height.mas_equalTo(60);

    }];

    #pragma mark - label2

    UILabel *label2 = [[UILabel alloc] init];
    label2.backgroundColor = [UIColor orangeColor];
    [self.view addSubview:label2];

    // [label2 mas_makeConstraints:^(MASConstraintMaker *make) {
    //
    // make.left.offset(100);
    // make.right.offset(-100);
    // make.top.offset(400);
    // make.bottom.offset(-100);
    // }];

    // 设置距离参照视图的内边距(上左下右)
    UIEdgeInsets padding = UIEdgeInsetsMake(400, 100, 100, 100);

    [label2 mas_makeConstraints:^(MASConstraintMaker *make) {

    // 设置约束视图的边界距离self.view的边界值
    // make.edges.equalTo(self.view).insets(padding);
    make.edges.insets(padding);
    }];

    #pragma mark - label3

    UILabel *label3 = [[UILabel alloc] init];
    label3.backgroundColor = [UIColor purpleColor];
    [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(-40, 60));

    }];
    }

    @end

  • 相关阅读:
    输入任意个数字求和的小程序
    两个小的java程序,用于练习java基本语法
    《大道至简》第一,二章读后感
    搜索
    Dijkstra模板
    图论
    SPFA模板
    HDU 5114 Collision(扩展欧几里得) xgtao
    BZOJ 1001 狼抓兔子 (最大流转最短路) xgtao
    Codeforces 697C Lorenzo Von Matterhorn(严格二叉树的LCA) xgtao
  • 原文地址:https://www.cnblogs.com/fushengruomeng/p/5558144.html
Copyright © 2011-2022 走看看