1、equalTo:僅支持基本類型
mas_equalTo:是對equalTo的封裝,它支持類型轉(zhuǎn)換,支持復(fù)雜類型。比如:CGSize CGPoint NSNumber UIEdgeinsets。
他們之間的相互轉(zhuǎn)換的關(guān)系:
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。
以下實現(xiàn)的是相同的效果
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
// 這個頭文件一定要放在上面兩個宏的后面