在不使用自动布局的时候,如果要做一个移动的动画,很简单,直接修改移动控件的center就可以,但是用了Masonry进行自动布局,那就不能这么做了,不过方法依然很简单:
- (void)selecteRate {
[self.selectView mas_updateConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.containView.mas_bottom).offset(-250);//这里是设置动画的结尾位置
}];
self.backView.alpha = 0.0;
[UIView animateWithDuration:0.5f animations:^{
[self.containView layoutIfNeeded];//这里是关键
self.backView.alpha = 0.35;//透明度的变化依然和老方法一样
} completion:^(BOOL finished) {
//动画完成后的代码
}];
}
其中,selectView就是要移动的view,他本来的位置是
make.top.equalTo(self.containView.mas_bottom).offset(0);
动画之后,它的位置就上升了250.