在使用了自动布局autoLayout的情况下,实现动画有两种方式
第一种:更新布局,在动画的block中执行 [view layoutIfNeeded]; 方法
代码示例:
[childView mas_updateConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self).offset(100);
}];
[UIView animateWithDuration:0.5 animations:^{
[superView layoutIfNeeded];
} completion:^(BOOL finished) {
}];
第二种:在view的transform上做改变,常用的的有位移,放大,缩小等
代码示例:
//先做一个位移
containerView.transform = CGAffineTransformMakeTranslation(100, 0);
//用动画实现回归原位
[UIView animateWithDuration:0.5 animations:^{
containerView.transform = CGAffineTransformIdentity;
}];
总结:都是先做了改变以后,用动画的方式显示改变的结果
(完)
网友评论