国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > iOS > 正文

使用第三方框架 Masonry 實(shí)現(xiàn)自動(dòng)布局

2019-10-21 18:55:41
字體:
供稿:網(wǎng)友

由于前兩天都在學(xué)習(xí)自動(dòng)布局的使用,但是又覺得蘋果原生的方式太過于麻煩,而且也不易于理解,昨天聽人說了有個(gè)第三方框架也可以實(shí)現(xiàn)自動(dòng)布局的功能,然后在https://github.com/上找到了Mansonry這個(gè)框架,使用起來真的減少了很多時(shí)間,而且代碼直觀,更加容易理解。

送上源碼地址:https://github.com/Masonry/Masonry

Masonry,自動(dòng)布局

以上說明了與參照控件的關(guān)系中三種條件的對(duì)應(yīng)替代方法。

 

Masonry,自動(dòng)布局

以上說明了上下左右等屬性的對(duì)應(yīng)替代屬性。

 

一些設(shè)置約束的方法,更多內(nèi)容請(qǐng)參考網(wǎng)站說明。

1 //設(shè)置約束2 - (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *))block;3 4 //如果之前已經(jīng)有約束,則更新新的約束,如果沒有約束,則添加約束5 - (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *))block;6 7 //將之前的約束全部刪除,添加新的約束8 - (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block;

以下為代碼使用實(shí)現(xiàn)布局效果:

 1     //添加兩個(gè)控件 2     UIView *blueView = [[UIView alloc] init]; 3     blueView.backgroundColor = [UIColor blueColor]; 4     blueView.translatesAutoresizingMaskIntoConstraints = NO; 5     [self.view addSubview:blueView]; 6      7     UIView *redView = [[UIView alloc] init]; 8     redView.backgroundColor = [UIColor redColor]; 9     redView.translatesAutoresizingMaskIntoConstraints = NO;10     [self.view addSubview:redView];11 12     //給藍(lán)色View設(shè)置約束13     [blueView mas_makeConstraints:^(MASConstraintMaker *make) {14         make.left.equalTo(self.view.mas_left).offset(30);//和父view的左邊間距為30;15         make.bottom.equalTo(self.view.mas_bottom).offset(-30);//和父view的底部間距為30;16         make.right.equalTo(redView.mas_left).offset(-30);//和紅色view的間距為30;17         make.height.mas_equalTo(50);//藍(lán)色view的高度為5018     }];19     20     //給紅色View設(shè)置約束21     [redView mas_makeConstraints:^(MASConstraintMaker *make) {22         make.right.equalTo(self.view.mas_right).offset(-30);//和父view的右邊間距為30;23         make.bottom.equalTo(blueView.mas_bottom);//和藍(lán)色view的底部對(duì)齊24         make.height.equalTo(blueView.mas_height);//和藍(lán)色view的高度相等25         make.width.equalTo(blueView.mas_width);//和藍(lán)色view的寬度相等26     }];

 

效果圖如下:

Masonry,自動(dòng)布局

用了這個(gè)框架之后,再對(duì)比之前使用代碼布局的效果,感覺就是一個(gè)天一個(gè)地啊,而且在某些地方使用block感覺比使用delegate更加實(shí)用和簡捷方便,看來以后還是要多逛逛https://github.com/還是會(huì)得到很多收獲的。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到IOS開發(fā)頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 镇康县| 巫山县| 衡东县| 如东县| 鹤山市| 江安县| 兴文县| 长丰县| 资兴市| 清水县| 土默特左旗| 玉山县| 西平县| 长垣县| 杨浦区| 永春县| 六安市| 永修县| 正蓝旗| 塘沽区| 彭山县| 达拉特旗| 南开区| 铜山县| 英德市| 克拉玛依市| 泰和县| 章丘市| 汤阴县| 章丘市| 绩溪县| 连江县| 陈巴尔虎旗| 宜州市| 钦州市| 霍林郭勒市| 肇庆市| 吐鲁番市| 新沂市| 黑河市| 沅陵县|