1.about Masonry
目前最流行的
Autolayout
第三方框架
用优雅的代码方式编写
Autolayout
省去了苹果官方恶心的
Autolayout
代码
大大提高了开发效率
框架地址:
/**
// 这个方法会将以前的所有约束删掉,添加新的约束
[blueView mas_remakeConstraints:^(MASConstraintMaker *make) {
}];
// 这个方法将会覆盖以前的某些特定的约束
[blueView mas_updateConstraints:^(MASConstraintMaker *make) {
}];
*/
/**
mas_equalTo:这个方法会对参数进行包装
equalTo:这个方法不会对参数进行包装
mas_equalTo的功能强于 > equalTo
*/
demo示例1:
// 蓝色控件
UIView *blueView = [[UIView alloc] init];
blueView.backgroundColor = [UIColor blueColor];
[self.view addSubview:blueView];
// 这个方法只会添加新的约束 下面几段份代码实现的效果相同
<span style="font-family: Arial, Helvetica, sans-serif;">/**</span>
[blueView mas_makeConstraints:^(MASConstraintMaker *make) {
// 宽度约束
make.width.equalTo(@100);
// 高度约束
make.height.equalTo(@100);
// 右边
make.right.equalTo(self.view.mas_right).offset(-20);
// 顶部 传进去的参数 需要加mas
make.top.equalTo(self.view.mas_top).offset(20);
}];
*/
[blueView mas_makeConstraints:^(MASConstraintMaker *make) {
// 宽度约束
make.width.mas_equalTo(100);
// 高度约束
make.height.mas_equalTo(100);
// 右边
make.right.equalTo(self.view).offset(-20);
// 顶部
make.top.equalTo(self.view).offset(20);
}];
<pre name="code" class="objc"> [blueView mas_makeConstraints:^(MASConstraintMaker *make) {
// 宽度高度约束
make.width.height.mas_equalTo(100);
// 右边
make.right.equalTo(self.view).offset(-20);
// 顶部
make.top.equalTo(self.view).offset(20);
}];
<pre name="code" class="objc"> [blueView mas_makeConstraints:^(MASConstraintMaker *make) {
// 宽度高度约束
// make.size.equalTo([NSValue valueWithCGSize:CGSizeMake(100, 100)]);
// make.size.mas_equalTo(CGSizeMake(100, 100));
make.size.mas_equalTo(100);
// 右边
make.right.equalTo(self.view).offset(-20);
// 顶部
make.top.equalTo(self.view).offset(20);
}];