я оживляющий непрозрачности-свойство а CALayer с помощью следующего кода:CALayer CABasicAnimation цепочки
Создание анимации в методе:
+ (CABasicAnimation *)fadeIn:(float)begin duration:(float)duration remove:(BOOL)remove{
CABasicAnimation *fadeAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
fadeAnimation.fromValue = [NSNumber numberWithFloat:0.0];
fadeAnimation.toValue = [NSNumber numberWithFloat:1.0];
fadeAnimation.additive = NO;
fadeAnimation.removedOnCompletion = remove;
fadeAnimation.beginTime = begin;
fadeAnimation.duration = duration;
fadeAnimation.fillMode = kCAFillModeBoth;
return fadeAnimation;
}
Добавление анимации к слою:
[overlayLayer addAnimation:[VideoComposerHelpers fadeIn:1.0 duration:0.5 remove:NO] forKey:nil];
Это работает идеально. Однако теперь я хочу добавить еще одну анимацию к тому же слою сразу после завершения первой анимации.
[overlayLayer addAnimation:[VideoComposerHelpers fadeOut:1.5 duration:0.5 remove:NO] forKey:nil]; // fadeOut is a method similar to fadeIn
Что должно случиться, слой выцветает с длительностью 0,5 и сразу после этого, она исчезает с длительностью 0,5. Это, похоже, не работает. Это потому, что начальная точка второй анимации такая же, как и конечная точка первого?
Рад, что смог помочь , Я надеюсь, что тот, кто проголосовал за аргумент, может быть, это что-то не так в моем ответе (во всяком случае, я просто скопирую часть моего кода запуска, и я настроился в соответствии с вашими потребностями), поэтому в основном это должно быть хорошим ответ :)) – danypata