iOS開發 Masonry的學習

2021-10-24 12:12:37 字數 1711 閱讀 1758

一、導入庫

masonry支援cocoapods,可以直接通過podfile檔案進行整合,cocoapods的配置與masonry的配置方法如下:

如果已經配置完成,總體需要的**就如下:

終端輸入: cd /users/(電腦的id)/desktop/cocoapodstest

//輸入自己專案的路徑或直接拖拽也行

建立podfile檔案:touch podfile

二、masonry基礎使用

mas_makeconstraints

() 新增約束

mas_remakeconstraints

() 移除之前的約束,重新新增新的約束

mas_updateconstraints

() 更新約束

equalto

() 引數是物件型別,一般是檢視物件或者mas_width這樣的座標系物件

mas_equalto

() 和上面功能相同,引數可以傳遞基礎資料型別物件,可以理解為比上面的api更強大

width

() 用來表示寬度,例如代表view的寬度

mas_width

() 用來獲取寬度的值。和上面的區別在於,乙個代表某個座標系物件,乙個用來獲取座標系物件的值

如果想要使用不帶有前面mas_的話加兩行巨集定義即可

其基礎的設定屬性如下:

1.尺寸:width、height、size。

2.邊界:left、leading、right、trailing、top、bottom、edges。

3.中心點:center、centerx、centery。

4.偏移量:offset、insets、sizeoffset、centeroffset。

5.priority()約束優先順序(0~1000),multipler乘因數,dividedby除因數。

大小關係有三種:

1.equalto,相等。

2.lessthanorequalto,小於等於。

3.greaterthanorequalto,大於等於。

其他使用細節:

如果寫具體的位置offset()中的數值變為self.view.frame.size.height 乘以 所需要的百分數

三、源**

uiimage *first =

[uiimage imagenamed:

@"works_img1.png"];

uiimageview *firstimage =

[[uiimageview alloc]initwithimage:first]

;[cell addsubview:firstimage]

;[firstimage mas_makeconstraints:

^(masconstraintmaker *make)

]

在對其產生約束後 在自定義cell中的所需要出現的位置便能達到效果 效果如下(上面的文字也同樣使用了masonry):

補充:最好使用百分比進行比較 就是*0.5類似這樣的 這樣可以保證換個機型也能正常執行

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