先看看Masonry的源代碼,能夠發現兩個屬性 這兩個屬性能夠設置視圖中的寬高比例 使用multipliedBy必須是對同一個控件自己,好比,上面的代碼中,咱們都是對bottomInnerView.mas_width自己的,若是修改爲相對於其它控件,會出問題。bash
//multipler屬性表示約束值爲約束對象的乘因數
- (MASConstraint * (^)(CGFloat multiplier))multipliedBy;
//dividedBy屬性表示約束值爲約束對象的除因數,可用於設置view的寬高比
- (MASConstraint * (^)(CGFloat divider))dividedBy;
複製代碼
具體使用less
// width/height比爲1/3.0,要求是同一個控件的屬性比例
[bottomInnerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.bottom.mas_equalTo(bottomView);
make.center.mas_equalTo(bottomView);
// 注意,這個multipliedBy的使用只能是設置同一個控件的,好比這裏的bottomInnerView,
// 設置高/寬爲3:1
make.height.mas_equalTo(bottomInnerView.mas_width).multipliedBy(3);
make.width.height.mas_equalTo(bottomView).priorityLow();
make.width.height.lessThanOrEqualTo(bottomView);
}];
複製代碼