最近在学习使用Masonry,在这里简单的做个分享。
Masonry主要有3个核心函数:
// 构建约束
mas_makeConstraints
// 更新约束 - 修改已经建立的约束,如果约束不存在,会在控制台输出错误
mas_updateConstraints
// 删除已经建立的所有约束,然后重新生成约束
mas_remakeConstraints
应用举例:
UIView *redView = [[UIView alloc]init];
[self.view addSubview:redView];
//构建约束
[redView mas_makeConstraints:^(MASConstraintMaker *make) {
//约束条件
}];
//更新约束
[redView mas_updateConstraints:^(MASConstraintMaker *make) {
//约束条件
}];
//删除约束重新添加
[redView mas_remakeConstraints:^(MASConstraintMaker *make) {
//约束条件
}];
几个方法:
equalTo(参照对象)
offset(CGFloat) 偏移量
dividedBy(),除以某个量,用以实现按比例设置约束
multipliedBy(),乘以某个量
举例:
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];
}];
仅个人见解,如有错误请见谅!