Masonry的使用
1.//添加了这个宏,就不用带mas_前缀了
#define MAS_SHORTHAND
//添加了这个宏,equalTo就等于mas_equalTo
#define MAS_SHORYHAND_GLOBALS
//这个头文件一定要放在上面两个宏后面
#import "Masonry.h"
[_label1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(_contentView1.mas_top).with.offset(10);
make.left.equalTo(_contentView1.mas_left).with.offset(5);
make.height.equalTo(@50);
}];
[_label2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(_label1.mas_right).with.offset(5);
make.top.equalTo(_contentView1.mas_top).with.offset(10);
//右边的间隔保持大于等于5
make.right.lessThanOrEqualTo(_contentView1.mas_right).with.offset(-5);
make.height.equalTo(@50);
}];
2.masequalTo 和 equalTo 区别:masequalTo 比equalTo多了类型转换操作,一般来说,大多数时候两个方法都是 通用的,但是对于数值元素使用mas_equalTo。
对于对象或是多个属性的处理,使用equalTo。特别是多个属性时,必须使用equalTo,例如 make.left.and.right.equalTo(self.view);
3.setContentHuggingPriority 理解为约束优先级
setContentCompressionResistancePriority 理解为内容优先级
这两个是设置内容和约束之间优先级的,如果约束的优先级高,view不够的时候内容就会被压缩,反之,约束压缩