+(id)constraintWithItem:(id)view1 attribute:(NSLayoutAttribute)attr1 relatedBy:(NSLayoutRelation)relation toItem:(id)view2 attribute:(NSLayoutAttribute)attr2 multiplier:(CGFloat)multiplier constant:(CGFloat)c; * view1 :要約束的控件 * attr1 :約束的類型(作怎樣的約束) * relation :與參照控件之間的關係 * view2 :參照的控件 * attr2 :約束的類型(作怎樣的約束) * multiplier :乘數 * c :常量
- (void)addConstraint:(NSLayoutConstraint *)constraint; - (void)addConstraints:(NSArray *)constraints;
view.translatesAutoresizingMaskIntoConstraints = NO;
+ (NSArray *)constraintsWithVisualFormat:(NSString *)format options:(NSLayoutFormatOptions)opts metrics:(NSDictionary *)metrics views:(NSDictionary *)views; * format :VFL語句 * opts :約束類型 * metrics :VFL語句中用到的具體數值 * views :VFL語句中用到的控件
NSDictionaryOfVariableBindings(...)
// 只要添加了這個宏,就不用帶mas_前綴 #define MAS_SHORTHAND
// 只要添加了這個宏,equalTo就等價於mas_equalTo數組
// 這個頭文件必定要放在上面兩個宏的後面code
```
// 這個方法只會添加新的約束 [view makeConstraints:^(MASConstraintMaker *make) { }]; // 這個方法會將之前的全部約束刪掉,添加新的約束 [view remakeConstraints:^(MASConstraintMaker *make) { }]; // 這個方法將會覆蓋之前的某些特定的約束 [view updateConstraints:^(MASConstraintMaker *make) { }];
1.尺寸:width\height\size 2.邊界:left\leading\right\trailing\top\bottom 3.中心點:center\centerX\centerY 4.邊界:edges