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