これに苦労しています。アニメーション化しようとしているカスタム NSStatusItemView があります。アニメーションを開始するために、ステータス アイテム ビューに次のコードを追加しました。
- (void)setAnimated
{
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"opacity"];
anim.duration = 1.0;
anim.repeatCount = HUGE_VALF;
anim.autoreverses = YES;
anim.fromValue=[NSNumber numberWithFloat:1.0];
anim.toValue=[NSNumber numberWithFloat:0.0];
[self.layer addAnimation: anim forKey: @"animateOpacity"];
[self setWantsLayer:YES];
[self setNeedsDisplay:YES];
}
このメソッドを呼び出しても何も起こりません。しかし、このコードをdrawRect
メソッドに移動すると、起動時にビューが適切にアニメーション化されます。事後にアニメーションを開始するように指示できるようにするために何をする必要があるかは完全にはわかりませんが、上記の方法ではそれが行われておらず、その理由がわかりません! 何か案は?