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