繁体   English   中英

带timeOffSet的CAAnimation

[英]CAAnimation with timeOffSet

我有一个动画,时长为5.0秒。 在播放动画时,我将其暂停2.0秒并执行其他操作(移至其他viewcontroller,push,pop ...)。 然后我回到这个viewcontroller并继续从第二个2.0开始动画。 我使用timeOffSet = 2.0使它工作平稳,但是仍然有一个问题: 它有2秒的剩余时间,即动画的前2秒.....如何删除它?

具有timeOffSet流程的动画:

在此处输入图片说明

答案重复

-(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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM