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
// 这个头文件一定要放在上面两个宏的后面