我有一个我想要动画的 NSView,但是 NSView 里面有一个 NSTableView,当视图是图层支持时它不会显示正确的(这反过来又是动画视图所必需的)。所以我的答案是在动画之前让视图层支持,然后在动画完成后移除层,如下所示:
[animatingView setWantsLayer: YES];
[NSAnimationContext beginGrouping];
[[animatingView animator] animateSomething];
[[NSAnimationContext currentContext] setCompletionHandler: ^{
[animatingView setWantsLayer: NO];
}];
[NSAnimationContext endGrouping];
但是,使用此代码,视图根本没有动画。我发现如果我删除[animatingView setWantsLayer: NO];
它动画恰到好处的行,但是表格视图无法正确显示(有关其中一个问题的示例,请参阅此问题)。
所以,我的问题是:我该如何解决这个问题?我想为视图设置动画,但我希望表格正确显示,但这种解决方法不起作用。而且我不明白为什么...