我有一个持续时间为5.0秒的动画。在播放动画的同时,我将其暂停在2.0秒并做其他一些事情(转移到其他视图控制器,推,弹......)。然后我回到这个viewcontroller并从第二个2.0继续动画。我用timeOffSet = 2.0让它工作顺利,但仍然有一个问题:它有2秒的剩余,这是动画的前2秒.....我怎样才能删除它? < / p>
使用timeOffSet进程的动画:
答案 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;
}