关于Masonry一些常用方法

整理印象笔记之Masonry实现Autolayout

关于Masonry一些常用的方法

  • 目前比较流行的Autolayout第三方库
  • 其内部封装了苹果Autolayout代码
  • 提高了开发效率

安装

安装地址:https://github.com/SnapKit/Masonry

常用方法

   UIView *testView = [[UIView alloc]init];
    testView.backgroundColor = [UIColor redColor];
    [self.view addSubview:testView];

    //这个方法只会添加新的约束
    [testView mas_makeConstraints:^(MASConstraintMaker *make) {

    }];

    //这个方法会将以前的所有约束删掉,添加新的约束
    [testView mas_remakeConstraints:^(MASConstraintMaker *make) {

    }];

    //这个方法会覆盖以前的某些特定约束
    [testView mas_updateConstraints:^(MASConstraintMaker *make) {

    }];
关于控件本身大小
make.width.mas_equalTo(@100);
make.height.mas_equalTo(@100);
或
make.size.mas_equalTo(CGSizeMake(100, 100));

占self.view的比例再多80    
make.size.mas_equalTo(self.view).multipliedBy(0.5).offset(80);
关于控件边距
//距离右边
make.right.mas_equalTo(self.view.mas_right).offset(-20);
//距离左边
make.left.mas_equalTo(self.view.mas_left).offset(20);
//距离顶部
make.top.mas_equalTo(self.view.mas_top).offset(20);
//距离底部
make.bottom.mas_equalTo(self.view.mas_bottom).offset(-20);
//位置居中
make.centerX.mas_equalTo(self.view);
make.centerY.mas_equalTo(self.view);
make.center.mas_equalTo(self.view);
//距离四周
make.edges.mas_equalTo(self.view).insets(UIEdgeInsetsMake(20, 20, 20, 20));
为了方便编码,添加宏定义可省去mas_前缀

需要在#import “Masonry.h”之前添加俩个宏定义

#define MAS_SHORTHAND
#define MAS_SHORTHAND_GLOBALS
#import "Masonry.h"

加完之后代码使用起来比较方便

make.width.equalTo(@100);
make.height.equalTo(@100);
或
make.size.equalTo(CGSizeMake(100, 100));
占self.view的比例再多80
make.size.equalTo(self.view).multipliedBy(0.5).offset(80);


//距离右边
make.right.equalTo(self.view.mas_right).offset(-20);
//距离左边
make.left.equalTo(self.view.mas_left).offset(20);
//距离顶部
make.top.equalTo(self.view.mas_top).offset(20);
//距离底部
make.bottom.equalTo(self.view.mas_bottom).offset(-20);
//位置居中
make.centerX.equalTo(self.view);
make.centerY.equalTo(self.view);
make.center.equalTo(self.view);
//距离四周
make.edges.equalTo(self.view).insets(UIEdgeInsetsMake(20, 20, 20, 20));    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值