本文共 2049 字,大约阅读时间需要 6 分钟。
定义一个视图 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)); }];
创建一个全屏的视图 四周的边距都为 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); }];
一个红色的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); }];
这两个宏要写在导入头文件之前
//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/