与这个斗争。我有一个正在尝试制作动画的自定义 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
方法中,则视图会在启动时正确设置动画。不完全确定我需要做什么才能告诉它事后开始动画,但上述方法没有做到,我不知道为什么!有任何想法吗?