实现位移动画的两种方式

在使用了自动布局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;
    }];

总结:都是先做了改变以后,用动画的方式显示改变的结果
(完)

你可能感兴趣的