初識Masonry,總結簡單使用方法

2021-09-19 17:50:30 字數 1435 閱讀 1200

前情:因專案多人開發,決定棄用xib了,所以改用masonry來進行autolayout布局,這裡簡單總結下使用方法。

*常用方法:

label為例:

[self.titlelabel mas_makeconstraints:^(masconstraintmaker *make) {

make.left.top.mas_equalto(20);

make.size.mas_equalto(14);

以上**表示設定titlelabel,距離父檢視,左和上間距都是20.label的寬高都是14.

*關於equalto和mas_equalto:

一般equalto後邊跟的是id型別,引數一般是其他view,而mas_equalto相當於對equalto的乙個封裝,後邊可以跟基礎資料型別。

make.left.equalto(@20) 與 make.left.mas_equalto(20) 是等同的。

make.centery.equalto(self.imageview)

make.left.qeualto(self.iconimageview)

*關於offset

offset一般放在最後,表示距離某個控制項的某一邊的乙個固定值,比如:

make.left.equalto(self.iconimageview.mas_right).offset(9) 則表示上邊的titlelabel的左邊距距離self.iconimageview的右側距離為9.

還有一種是offset為負值的(-20),表示從右往左算邊距,比如:

make.right.equalto(self.view).offset(-20) 表示該控制項距離self.view的右邊距為20.

而make.left.equalto(self.view).offset(20)表示該控制項距離self.view的左邊距為20.

*關於lessthanorequalto 與 greaterthanorequalto

比如:make.width.mas_lessthanorequalto(100),表示控制項的寬度小於等於100.

make.left.greatthanorequalto(self.addresslabel.mas_right).offset(13),表示此控制項距離addresslabel的右側大於等於13.

【注】如果masonry中label不設定寬高,只設定top和left,那麼label會根據其自身文字的font和string,自動調整寬高。

像上邊的make.left.greatthanorequalto(self.addresslabel.mas_right).offset(13)**,self.addresslabel在其初始化的時候只設定了top和left,在這裡又設定了和此控制項的間距,那麼self.addresslabel的高度自己調整,寬度和此控制項設定了間距,所以約束就夠了。

end。 to be continue.

Masonry 簡單使用

magicnumber autoresizingmask autolayout 以上是純手寫 所經歷的關於頁面布局的三個時期 在iphone1 iphone3gs時代 window的size固定為 320,480 我們只需要簡單計算一下相對位置就好了 在iphone4 iphone4s時代 蘋果推出...

Masonry的簡單使用

首先,在正式使用masonry之前,我們先來看看在xib中我們是如何使用autolayout 從圖中我們可以看出,只要設定相應得侷限,控制好父檢視與子檢視之間的關係就應該很ok的拖出你需要的需求。這裡就不詳細講解具體拖拽的方法.然後,我們按著上圖的屬性來看看如何簡單得使用masonry 這裡是mas...

Masonry的簡單使用

首先,在正式使用masonry之前,我們先來看看在xib中我們是如何使用autolayout 從圖中我們可以看出,只要設定相應得侷限,控制好父檢視與子檢視之間的關係就應該很ok的拖出你需要的需求。這裡就不詳細講解具體拖拽的方法.然後,我們按著上圖的屬性來看看如何簡單得使用masonry 這裡是mas...