最近在学习使用Masonry,在这里简单的做个分享。
Masonry主要有3个核心函数:
1 2 3 4 5 6 7 8
| // 构建约束 mas_makeConstraints // 更新约束 - 修改已经建立的约束,如果约束不存在,会在控制台输出错误 mas_updateConstraints // 删除已经建立的所有约束,然后重新生成约束 mas_remakeConstraints
|
应用举例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| UIView *redView = [[UIView alloc]init]; [self.view addSubview:redView];
//构建约束 [redView mas_makeConstraints:^(MASConstraintMaker *make) { //约束条件 }];
//更新约束 [redView mas_updateConstraints:^(MASConstraintMaker *make) { //约束条件 }];
//删除约束重新添加 [redView mas_remakeConstraints:^(MASConstraintMaker *make) { //约束条件 }];
|
几个方法:
1 2 3 4
| equalTo(参照对象) offset(CGFloat) 偏移量 dividedBy(),除以某个量,用以实现按比例设置约束 multipliedBy(),乘以某个量
|
举例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| make.top.left.equalTo(self.view).offset(10);//距上,左10个单位
make.bottom.right.equalTo(self.view).offset(-10);//距下,右10个单位
make.edges.equalTo(self.view).insets(UIEdgeInsetsMake(20, 20, 20, 20));//边距20个单位
make.height.equalTo(self.view).dividedBy(2);//宽 父视图的宽除以2
make.size.mas_equalTo(CGSizeMake(100, 100));//长 100 单位 宽 100单位
//动画 [UIView animateWithDuration:2.0 animations:^{ [self.view layoutIfNeeded]; }];
|
仅个人见解,如有错误请见谅!