介紹
Masonry是一款輕量級的布局架構,擁有自己的描述文法,采用鍊式文法封裝自動布局,具有較高可讀性。并且同時支援iOS和OS X。
下載下傳位址:https://github.com/Masonry/Masonry
配置
推薦使用pod進行管理安裝:
- 打開終端,‘pod search masonry’,得到目前可用版本
- 進入工程主目錄,編輯PodFile, 增加 ‘pod‘masonry’’
- 在終端進入工程主目錄,執行‘pod update’
使用
關鍵詞 | 含義 |
---|---|
mas_makeConstriaints | 添加限制 |
mas_updateConstrianints | 更新限制 |
mas_remakeConstrianints | 删除限制 |
equalTo | 等于 |
mas_equalTo | 等于(對equalTo的裝箱操作) |
lessOrEqualTo | 小于等于 |
greaterThanOrEqualTo | 大于等于 |
priorityLow() | 優先級低 |
注意點
-
equalTo與mas_equalTo的差別:
equalTo與mas_equalTo代表的含義都是等于某一值,但是mas_equalTo比equalTo多了類型轉換操作,一般來說,兩種方法是通用的,但是對于數值操作使用mas_equalTo, 對于對象和多個屬性的處理,使用equalTo。
- 用mas_makeConstraints的那個view需要在addSubview之後才能用這個方法
- 方法and和with隻是為了可讀性,傳回自身,比如make.left.and.right.equalTo(self.view)和make.left.right.equalTo(self.view)是一樣的。
- 因為iOS中原點在左上角是以注意使用offset時注意right和bottom用負數
- 如果運作在iOS7以下版本時,equalTo如果指向父視圖的父視圖或者與父視圖同級的其他視圖時,會造成程式crash