首页 > 移动平台 > 详细

ios animation的暂停pause、恢复resume

时间:2014-07-10 23:47:58      阅读:591      评论:0      收藏:0      [点我收藏+]
项目中要用到动画的控制,比如说暂停、恢复继续等,先看代码:(很容易实现)
-(void)pauseLayer:(CALayer*)layer
{
    CFTimeInterval pausedTime = [layer convertTime:CACurrentMediaTime() fromLayer:nil];
    layer.speed = 0.0;
    layer.timeOffset = pausedTime;
}

-(void)resumeLayer:(CALayer*)layer
{
    CFTimeInterval pausedTime = [layer timeOffset];
    layer.speed = 1.0;
    layer.timeOffset = 0.0;
    layer.beginTime = 0.0;
    CFTimeInterval timeSincePause = [layer convertTime:CACurrentMediaTime() fromLayer:nil] - pausedTime;
    layer.beginTime = timeSincePause;
}

如果在一个view中我们添加了多个动画,(不是组合动画),同样容易实现动画的暂停、恢复,方法就是为每个动画层layer调用上面的方法,比如我的方法如下,我用的是三个单独动画的组合效果,就是如下调用的


-(void)stopAnimation;
{
    NSLog(@"停止动画");
    //[_customView.layer removeAllAnimations];
    [self pauseLayer:_customView1.layer];
    [self pauseLayer:_customView2.layer];
    [self pauseLayer:_customView3.layer];
}

-(void)resumeAnimation
{
    [self resumeLayer:_customView1.layer];
    [self resumeLayer:_customView2.layer];
    [self resumeLayer:_customView3.layer];

}


ios animation的暂停pause、恢复resume,布布扣,bubuko.com

ios animation的暂停pause、恢复resume

原文:http://blog.csdn.net/feixiang_song/article/details/37612973

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!