UIView动画如何停止

今天在项目中遇到一个动画的问题:请求数据之前用UI做的图片,让图片转动,数据请求之后停止图片的转动,忽然发现一直都知道怎么让动画运转起来(包括UIView的block动画和UIView直接设置属性的动画),却忽略了必要条件下,如何让动画停止下来。在网上查了些资料之后,才知道:不是简单把当前视图从父视图上remove掉或者把执行动画的视图从父视图上remove掉。正确的做法是:让执行动画的视图在layer层面上去除所有动画。

用项目中的几句代码做个小例子:

[UIView animateWithDuration:.2 animations:^{

     _transIag.transform = CGAffineTransformRotate(_transIag.transform, M_PI_2);

    } completion:^(BOOL finished) {

        

        if (_isFinishedAnimation) {

            [_transIag.layer removeAllAnimations];

        }else{

            [self transAnimationWithImage:_transIag];

        }

        

    }];

其中“_transIag”是要执行动画的一个UIImageview,“_isFinishedAnimation”是我用来判断数据是否请求完毕的一个布尔值。当数据请求完毕后执行一句代码: [_transIag.layer removeAllAnimations];这样子就能让动画停止了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值