Objective c Mavericks问题:窗口上的CAKeyframeAnimation不设置动画

Objective c Mavericks问题:窗口上的CAKeyframeAnimation不设置动画,objective-c,animation,nswindow,osx-mavericks,caanimation,Objective C,Animation,Nswindow,Osx Mavericks,Caanimation,自从10.8版开发以来,我一直在努力使我的应用程序适应Mavericks。到目前为止,我发现了各种我似乎无法解决的问题。其中一个与类似NSPover的动画有关 我有一个窗口,我以这种方式设置动画: _zoomWindow.alphaValue = 0; [_zoomWindow orderFront: self]; // Configure bouncing animation CAKeyframeAnimation* frameAnim = [CAKeyframeAnimation anim

自从10.8版开发以来,我一直在努力使我的应用程序适应Mavericks。到目前为止,我发现了各种我似乎无法解决的问题。其中一个与类似NSPover的动画有关

我有一个窗口,我以这种方式设置动画:

_zoomWindow.alphaValue = 0;
[_zoomWindow orderFront: self];

// Configure bouncing animation
CAKeyframeAnimation* frameAnim = [CAKeyframeAnimation animation];
[frameAnim setTimingFunction: [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseInEaseOut]];
[frameAnim setValues: @[[NSValue valueWithRect: startFrame], [NSValue valueWithRect: overshootFrame], [NSValue valueWithRect: endFrame]]];
[frameAnim setDuration: duration];
[frameAnim setDelegate: self];

[_zoomWindow setAnimations: @{@"frame": frameAnim}];

// Configure alpha animation
[NSAnimationContext beginGrouping];
[[NSAnimationContext currentContext] setDuration: duration];
[[_zoomWindow animator] setAlphaValue: 1.0];
[[_zoomWindow animator] setFrame: endFrame display: YES];
[NSAnimationContext endGrouping];

这在10.8上运行得很好!但是它在10.9上没有任何作用。我是不是遗漏了什么?

我发现了。结果是,它在超级动画中没有显示任何内容,所以一开始我认为它根本没有动画。事实证明,问题完全出在我代码的另一部分:我正在制作动画的窗口的内容视图由我子类化,而该视图正在进行一些自定义绘图。真正的问题是视图没有在10.9上绘制任何内容,尽管它是在10.8上绘制的。。。一旦我解决了绘图问题,动画就完美地工作了