iOS 提供了自動佈局的方法,可是原生的方法使用太過麻煩 ,Masonry 框架提供了相似的方法,一樣能夠實現自動佈局框架
,代碼更加直觀,並且容易理解。less
Masonry 是一個輕量級的佈局框架。擁有本身的描述語法,採用更優雅的鏈式語法封裝自動佈局,簡潔明瞭並具備較高的可讀性佈局
,同時支持iOS和Mac OSX。某種意義上能夠取代AutoLayoutspa
1.Masonry配置rem
使用時只須要導入頭文件 (Masonry.h)it
2.Masonry 經常使用的方法io
2.1Masonry 給視圖添加布局條件的經常使用方法主要有如下三種:配置
1.建立新的約束條件date
[view1 mas_makeConstrains:^(MASContraintMaker *make)];語法
2.若是以前有約束條件 ,則更新約束條件,若是沒有則添加約束
[view1 mas_updateConstrains:^(MASConstrainMaker*make)];
3.將以前的約束條件所有刪除 ,從新添加新的約束條件(重置約束條件)
[view1 mas_remakeContrains:^(MASContrainMaker*make)];
*說明;make表明當前視圖的約束條件
2.2Masonry 的約束屬性和方法
MASContraint 是一個抽象類 ,爲視圖提供了彼此之間的約束條件
*equalTo: 對齊
*greaterThanOrEqualTo:大於或超出
*lessThanOrEqualTo :小於或超出
priorityLow:優先級低
priorityMedium :優先級中等‘
priorityHigh ;優先級高
offset :位置偏移
sizeOffset: 大小偏移
centerOffset :中心偏移;
例如:(設置view1的位置和大小 1. 經過設置四周邊界裏控制位置和大小)
[view1 mas_makeContraints:^(MASContraintMaker *make){
//定製視圖到四邊的距離
make.top.equalTo:(self.view.mas_top).offset(20);//到頂部的距離
make.bottom.equalTo:(self.view.mas_bottom).offset(-200);//到底部的距離
make.left.equalTo:(self.view.mas_left).offset(50); //左側的距離
make.right.equalTo:(self.view.mas_right).offset(-100);//右側的距離
}];
設置view2 的位置和大小
[view2 mas_makeConstrains:^(MASConstraintMaker:*make){
make.left.equalTo:(self.view.mas_left).offset(100);
make.right.equalTo:(self.view.mas_right).offset(-100);
make.width.mas_equalTo(100);
make.height.mas_equalTo(200);
}];