iOS開發之Masonry(一)

2021-07-09 12:05:18 字數 763 閱讀 1836

本文主要介紹masonry的簡單實用,並聯絡如何給控制項新增約束:mas_makeconstraints。下面就馬上上**來使用。

- (void)viewdidload ];

// 1.green view:距離redview底部20,距離父控制項右邊100,自身寬高(200,100)

[greenview mas_makeconstraints:^(masconstraintmaker *make) ];

// 1.blue view:頂部等於greenview底部,中點x等於父控制項中點x,自身寬高等於greenview的寬高

[blueview mas_makeconstraints:^(masconstraintmaker *make) ];

}

**說明:

具體view的約束都已經現在注釋裡了。

對於上述約束來說是很好理解的,比如:(redview頂部約束)

make.top.equalto(self.view).with.offset(20);
意思:我(子控制項)的頂部距離父控制項的頂部相差20

這裡說一下注意點:

1.使用約束之前一定要先將子view新增到父view上。

2.每個子view的約束一定要完整,(除某些控制項外,以後會說到)。

3.新增約束的**也可以放在控制器的- (void)updateviewconstraints方法中,可以看出來該方法是專門用來更新控制項的約束的。

iOS開發之Masonry(三)

本文將介紹masonry另一種設定約束的方法 mas remakeconstraints 意思是重新設定約束。在此之前它會將控制項上的所有約束全部移除,在設定新約束。關鍵 如下 void viewdidload void click 開始執行動畫,設定約束 uiview animatewithdur...

iOS開發之Masonry(五)

cgfloat cellheightwithmodel hxtestmodel model給cell提供乙個這個靜態方法,該方法是通過模型計算cell的高度,在返回cell高度的 方法中呼叫該方法,並傳入模型,如下 cgfloat tableview uitableview tableview he...

iOS開發之Masonry(六)

本文介紹利用masonry約束scrollview上的子控制項,使得scrollview可以在約束的條件下滾動。核心 如下 建立scroll view uiscrollview scrollview uiscrollview alloc init self.view addsubview scrol...