根据博客cocoapods安装
masonry使用
完成masonry的安装
打开终端输入
cd
将文件拖入终端后输入
touch PodFile
之后你的项目里面将会多一个文件
打开文件在文件中输入
platform :ios, '7.0'
target '文件名' do
pod 'Masonry'
end
mas_makeConstraints() 添加约束
mas_remakeConstraints() 移除之前的约束,重新添加新的约束
mas_updateConstraints() 更新约束,写哪条更新哪条,其他约束不变
equalTo() 参数是对象类型,一般是视图对象或者mas_width这样的坐标系对象
mas_equalTo() 和上面功能相同,参数可以传递基础数据类型对象,可以理解为比上面的API更强大
width() 用来表示宽度,例如代表view的宽度
mas_width() 用来获取宽度的值。和上面的区别在于,一个代表某个坐标系对象,一个用来获取坐标系对象的值
#import "ViewController.h"
#import "Masonry.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
//
self.view.backgroundColor = [UIColor whiteColor];
// Masonry布局
UIView* ViewDad = [[UIView alloc] initWithFrame:CGRectZero];
ViewDad.backgroundColor = [UIColor redColor];
[self.view addSubview:ViewDad];
UIView* ViewSon = [[UIView alloc] initWithFrame:CGRectZero];
ViewSon.backgroundColor = [UIColor orangeColor];
[ViewDad addSubview:ViewSon];
UIView* ViewSon2 = [[UIView alloc] initWithFrame:CGRectZero];
ViewSon2.backgroundColor = [UIColor blueColor];
[ViewSon addSubview:ViewSon2];
UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button setTitle:@"iOS" forState:UIControlStateNormal];
[ViewSon2 addSubview:button];
//先addSbuView 否则报错
//在使用Masonry添加约束之前,需要在addSubview之后才能使用,否则会导致崩溃。
[ViewDad mas_makeConstraints:^(MASConstraintMaker *make) {
//规定当前视图距离父视图顶端的距离
make.top.mas_offset(150);
//规定当前视图距离父视图左端的距离
make.left.mas_equalTo(70);
//规定当前视图自身的宽度
make.width.mas_offset(250);
//规定当前视图自身的高度
make.height.mas_equalTo(250);
}];
[ViewSon mas_makeConstraints:^(MASConstraintMaker *make) {
//规定当前视图距离父视图顶端的距离
make.top.mas_offset(25);
//规定当前视图距离父视图左端的距离
make.left.mas_equalTo(25);
//规定当前视图自身的宽度
make.width.mas_offset(200);
//规定当前视图自身的高度
make.height.mas_equalTo(200);
}];
[ViewSon2 mas_makeConstraints:^(MASConstraintMaker *make) {
//规定当前视图距离父视图顶端的距离
make.top.mas_offset(25);
//规定当前视图距离父视图左端的距离
make.left.mas_equalTo(25);
//规定当前视图自身的宽度
make.width.mas_offset(140);
//规定当前视图自身的高度
make.height.mas_equalTo(140);
}];
[button mas_makeConstraints:^(MASConstraintMaker *make) {
//规定当前视图距离父视图顶端的距离
make.top.mas_offset(40);
//规定当前视图距离父视图左端的距离
make.left.mas_equalTo(40);
//规定当前视图自身的宽度
make.width.mas_offset(50);
//规定当前视图自身的高度
make.height.mas_equalTo(50);
}];
}
@end