CAAnimation с timeOffSet

У меня есть анимация с продолжительностью 5,0 секунд. Пока воспроизводится анимация, я приостанавливаю ее на 2,0 секунды и делаю некоторые другие вещи (переход на другой viewcontroller, push, pop...). А затем я возвращаюсь к этому viewcontroller и продолжаю анимацию со второго 2.0. Я сделал так, чтобы он работал гладко с timeOffSet = 2.0, но все еще есть проблема: он имеет избыток в 2 секунды, то есть первые 2 секунды анимации..... Как я могу удалить его?

Анимация с процессом timeOffSet:

1 ответ

Дублированный ответ

-(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;
}
Другие вопросы по тегам