博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Masonry基础语法
阅读量:4086 次
发布时间:2019-05-25

本文共 2049 字,大约阅读时间需要 6 分钟。

Masonry视图居中

定义一个视图 200 * 50在任何设备上都摆放在屏幕的中心点make.xxx属性.equalTo(参照对象.mas_属性[如果相同,可以省略]).offset(常数)
// 基本语法    [redView mas_makeConstraints:^(MASConstraintMaker *make) {        make.centerX.equalTo(self.view.mas_centerX);        make.centerY.equalTo(self.view.mas_centerY);        make.width.equalTo(@200);        make.height.equalTo(@50);    }];
// 进阶语法    [redView mas_makeConstraints:^(MASConstraintMaker *make) {        make.center.equalTo(self.view);        make.size.equalTo([NSValue valueWithCGSize:CGSizeMake(200, 100)]);    }];
// 装箱    [redView mas_makeConstraints:^(MASConstraintMaker *make) {        make.center.equalTo(self.view);        make.size.mas_equalTo(CGSizeMake(100, 200));    }];

Masonry设置边界

创建一个全屏的视图 四周的边距都为 20
// 常规    [redView mas_makeConstraints:^(MASConstraintMaker *make) {        make.top.equalTo(self.view.mas_top).offset(20);        make.left.equalTo(self.view.mas_left).offset(20);        make.bottom.equalTo(self.view.mas_bottom).offset(-20);        make.right.equalTo(self.view.mas_right).offset(-20);    }];
// 简写    [redView mas_makeConstraints:^(MASConstraintMaker *make) {        make.top.offset(20);        make.left.offset(20);        make.bottom.offset(-20);        make.right.offset(-20);    }];
// 链式编程    [redView mas_makeConstraints:^(MASConstraintMaker *make) {        make.top.left.mas_offset(20);        make.bottom.right.mas_offset(-20);    }];

Masonry动画以及更新和重建约束

一个红色的view在右下角 使用动画让view从右边飘到左边
[self.redView mas_updateConstraints:^(MASConstraintMaker *make) {        make.right.mas_offset(-200);    }];    [self.redView mas_remakeConstraints:^(MASConstraintMaker *make) {        make.left.mas_offset(20);        make.size.mas_equalTo(CGSizeMake(100, 100));        make.bottom.mas_offset(-20);    }];

Masonry的两个宏(了解)

这两个宏要写在导入头文件之前
//define this constant if you want to use Masonry without the 'mas_' prefix    // 如果不想使用 mas_ 前缀    // #define MAS_SHORTHAND    //define this constant if you want to enable auto-boxing for default syntax    // enable auto-boxing 启用装箱    // #define MAS_SHORTHAND_GLOBALS

转载地址:http://nykii.baihongyu.com/

你可能感兴趣的文章
你不知道的Virtual DOM
查看>>
VUE面试题总结
查看>>
写好JavaScript条件语句的5条守则
查看>>
原生JS中DOM节点相关API合集
查看>>
【TINY4412】U-BOOT移植笔记:(7)SDRAM驱动
查看>>
【TINY4412】U-BOOT移植笔记:(12)BEEP驱动
查看>>
单链表的修改和删除
查看>>
C++的三个基本特征:封装、继承、多态
查看>>
C++虚函数的总结
查看>>
什么是URL地址?
查看>>
C++多态的实现方式总结
查看>>
学习C++需要注意的问题
查看>>
C++模板
查看>>
C++双冒号(::)的用法
查看>>
【Unity】封装SQLite管理类
查看>>
【Unity】面试题整理
查看>>
【C#】如何实现一个迭代器
查看>>
【Unity】Destroy和DestroyImmediate的区别
查看>>
【Lua】Mac系统下配置SublimeText的Lua编译环境
查看>>
【C#】利用Conditional属性完成编译忽略
查看>>