iOS開發-Masonry約束寬高比

先看看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);
  }];

複製代碼
相關文章
相關標籤/搜索