用Masonry给view加约束之后,发现加上动画,不起作用,经过查资料研究,发现实现方法和普通的方法实现差不多,重点只是修改约束后调用
直接上代码
UIView *rectView = [[UIView alloc] init];
rectView.backgroundColor = [UIColor greenColor];
[self.view addSubview:rectView];
[rectView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.view).offset(100);
make.right.equalTo(self.view).offset(-50);
make.top.equalTo(self.view).offset(150);
make.height.equalTo(@180);
}];
[rectView.superview layoutIfNeeded];//如果其约束还没有生成的时候需要动画的话,就请先强制刷新后才写动画,否则所有没生成的约束会直接跑动画
[UIView animateWithDuration:10 animations:^{
[rectView mas_updateConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.view).offset(10);
make.height.equalTo(@10);
}];
[rectView.superview layoutIfNeeded];//强制绘制
}];