简单的动画就是把更改位置这件事放在一个时间里,所以重新修改约束,更新约束,设置全局约束更改值。
UIWindow *window = [[UIApplication sharedApplication]keyWindow];
[window addSubview:self];
[self mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(window);
}];
// 在动画开始之前 要强制刷新布局 如果不这样的话前面的所有的布局设置都会在动画中显现出来
[self.superview layoutIfNeeded];
[UIView animateWithDuration:0.5 animations:^{
[self.contentView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self);
make.bottom.equalTo(self);
make.height.equalTo(@450);
}];
// 在动画中刷新布局
[self.superview layoutIfNeeded];
}];