我有一個完美的第一次調用的動畫。但是,如果我想再次使用相同的代碼對同一圖層進行動畫處理,則會立即完成,並在flag
值NO
的代理上調用animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag
。圖層動畫第一次正常工作,但不在第二次相同的調用
這裏是添加動畫代碼:
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;
}
BTW,最初imageView
在XIB可見。
代碼行爲與removedOncompletion'YES'或'NO'相同。我再次添加動畫,運行完全相同的代碼,包括'addAnimation:...' – user199092 2010-09-13 05:16:17