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