У меня есть анимация, которая отлично работает при первом вызове.Но если я хочу снова анимировать тот же слой, используя тот же код, он немедленно завершается, и animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag
вызывается для делегата со значением flag
NO
.
Вот кодэто добавляет анимацию:
imageView.hidden = NO;
CAKeyframeAnimation* animationOpacity =
[CAKeyframeAnimation animationWithKeyPath:@"opacity"];
...
animationOpacity.duration = 2.0;
animationOpacity.removedOnCompletion = YES;
animationOpacity.delegate = self;
[imageView.layer addAnimation:animationOpacity forKey:@"someKey"];
, и это действие делегата:
-(void) animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag {
imageView.hidden = YES;
}
Кстати, изначально imageView
видим в XIB.