Fork me on GitHub

如何在ios中运用core animation暂停和继续动画

核心代码如下


//暂停layer上面的动画
- (void)pauseLayer:(CALayer*)layer
{
    CFTimeInterval pausedTime = [layer convertTime:CACurrentMediaTime() fromLayer:nil];
    layer.speed = 0.0;
    layer.timeOffset = pausedTime;
}


//继续layer上面的动画
- (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;
}



可到技术博客上详细应用:
blog.csdn.net/gckjdev/article/details/7177840
描述:滚动中
图片:moving.png 

描述:暂停时
图片:pause.png 

描述:Demo工程
附件:  AnimationPause.zip

posted on 2012-03-06 09:41  pengyingh  阅读(3459)  评论(0)    收藏  举报

导航