如果我們需要設定一個view在另一個view的右邊緣距離一定距離的地方,利用Masonry這么寫:
[a mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(b.mas_right).offset(777);
....
offset可以讓我們在設定視圖之間相對位置時起到很大作用,但是也有很多情況下用不到,比如size、center等等,而調查Maronry的底層方法,可以看到和offset類似的方法還有很多:
- (MASConstraint * (^)(MASEdgeInsets insets))insets;
- (MASConstraint * (^)(CGFloat inset))inset;
- (MASConstraint * (^)(CGSize offset))sizeOffset;
- (MASConstraint * (^)(CGPoint offset))centerOffset;
- (MASConstraint * (^)(CGFloat offset))offset;
- (MASConstraint * (^)(NSValue *value))valueOffset;
offset確實是方法,只不過常見的那種做法叫做點語法,點語法在這里的好處其實還是挺大的,因為如果有人不想用點語法的話,他大概就不得不這么寫:[[make left] mas_equalTo]([b mas_right]); //如果要加offset的話往哪里加呢
這些offset所使用的范圍其實略有不同:
| 關鍵詞 | 常見使用范圍 |
|---|---|
| insets | edge |
| inset | edge |
| sizeOffset | size |
| centerOffset | center |
| offset | top,bottom,left,right,width,height,centerX,centerY |
| valueOffset | 使用場景不詳,略 |
本文來自博客園,作者:MrYu4,轉載請注明原文鏈接:https://www.cnblogs.com/MrYU4/p/masonry-zai-shi-tu-xiang-dui-guan-xi-chu-li-zhong.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/445606.html
標籤:iOS
