iOS開發之Masonry(六)

2021-07-09 14:53:35 字數 1148 閱讀 3149

本文介紹利用masonry約束scrollview上的子控制項,使得scrollview可以在約束的條件下滾動。核心**如下:

// 建立scroll view

uiscrollview *scrollview = [[uiscrollview alloc] init];

[self.view addsubview:scrollview];

scrollview.backgroundcolor = [uicolor lightgraycolor];

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

// 建立scroll view上的子控制項

// 第乙個子控制項

uiview *containerview1 = [[uiview alloc] init];

[scrollview addsubview:containerview1];

containerview1.backgroundcolor = [uicolor redcolor];

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

// 第二個子控制項

uiview *containerview2 = [[uiview alloc] init];

[scrollview addsubview:containerview2];

containerview2.backgroundcolor = [uicolor bluecolor];

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

// 更新scroll view的約束,scroll view的底部等於其最後乙個子控制項的底部

[scrollview mas_updateconstraints:^(masconstraintmaker *make) ];

注意點有:

1.scrollview上的子控制項約束要完整。

2.當scrollview上的子控制項更新時,要更新scrollview的約束。要使得scrollview的底部等於其最後子控制項的底部。

3.注意使用約束方法。

iOS開發之Masonry(一)

本文主要介紹masonry的簡單實用,並聯絡如何給控制項新增約束 mas makeconstraints。下面就馬上上 來使用。void viewdidload 1.green view 距離redview底部20,距離父控制項右邊100,自身寬高 200,100 greenview mas mak...

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...