美文网首页
动画keyFrameAnimation:暂停与恢复

动画keyFrameAnimation:暂停与恢复

作者: eryuxinling | 来源:发表于2020-05-21 16:22 被阅读0次

    原文链接

    // 暂停ayer上的动画
    -(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;
    }
    
    或者直接使用以下方法 原文链接
    为了终止一个指定的动画,你可以用如下方法把它从图层移除掉:
    - (void)removeAnimationForKey:(NSString *)key; 
    
    或者移除所有动画:
    - (void)removeAllAnimations; 
    
    - animationDidStop:finished:方法中的flag参数表明了动画是自然结束还是被打断,我们可以在控制台打印出来。如果你用停止按钮来终止动画,它会打印NO,如果允许它完成,它会打印YES。
    

    相关文章

      网友评论

          本文标题:动画keyFrameAnimation:暂停与恢复

          本文链接:https://www.haomeiwen.com/subject/pkqtahtx.html