相对父view
[_accountTypeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(bg).with.offset(10);
make.top.equalTo(bg).with.offset(42.5);
// make.centerX.equalTo(bg.mas_centerX);
// make.height.mas_equalTo(64);
}];
相对临近的view
make.top.equalTo(imgView.mas_bottom).with.offset(34);
https://blog.csdn.net/zhw521411/article/details/85004315
除:后面除
make.centerX.equalTo(_changeMapView.mas_centerX).dividedBy(2);
乘:后面乘
make.centerX.equalTo(_changeMapView.mas_centerX).multipliedBy(1.5);
//同级别的控件距离
make.top.equalTo(pay.mas_bottom).with.offset(8);
//垂直居中
make.centerX.equalTo(bottomBgView.mas_centerX);
修改
[_mapServiceCenterBtn mas_updateConstraints:^(MASConstraintMaker *make) {
make.bottom.equalTo(_mapView.mas_bottom).offset(-147.5);
}];
动画
和普通的方法实现差不多,重点只是修改约束后调用
[view.superview layoutIfNeeded];
而已
[view mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(400);
make.left.mas_equalTo(100);
make.size.mas_equalTo(CGSizeMake(100, 100));
}];
[view.superview layoutIfNeeded];//如果其约束还没有生成的时候需要动画的话,就请先强制刷新后才写动画,否则所有没生成的约束会直接跑动画
[UIView animateWithDuration:3 animations:^{
[view mas_updateConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(200);
}];
[view.superview layoutIfNeeded];//强制绘制
}];
网友评论