Mansory中mas_equalTo和equalTo的区别

1、equalTo:仅支持基本类型

mas_equalTo:是对equalTo的封装,它支持类型转换,支持复杂类型。比如:CGSize CGPoint NSNumber UIEdgeinsets。

他们之间的相互转换的关系:
make.width.equalTo(@12);
make.width.mas_equalTo(12);

源码如下:

#define mas_equalTo(...)                 equalTo(MASBoxValue((__VA_ARGS__)))
#define mas_greaterThanOrEqualTo(...)    greaterThanOrEqualTo(MASBoxValue((__VA_ARGS__)))
#define mas_lessThanOrEqualTo(...)       lessThanOrEqualTo(MASBoxValue((__VA_ARGS__)))
#define mas_offset(...)                  valueOffset(MASBoxValue((__VA_ARGS__)))

2、mas_equalTo是一个Macro,mas_equalTo比较的是值,而equalTo比较的是View。
以下实现的是相同的效果
make.bottom.mas_equalTo(ws.view.mas_bottom);
make.bottom.equalTo(ws.view);

3、去掉mas_前缀,只用equalTo即可,添加到.prefix文件

// 添加这个宏,就不用带mas_前缀

define MAS_SHORTHAND

// 添加这个宏,equalTo就等价于mas_equalTo

define MAS_SHORTHAND_GLOBALS

// 这个头文件一定要放在上面两个宏的后面

import "Masonry.h"

你可能感兴趣的:(Mansory中mas_equalTo和equalTo的区别)