NSA*_*ict 8 macos cocoa core-animation objective-c
我正在为Mac OS X制作导航控制器类.
我想用kCATransitionPush动画替换当前视图.
喜欢这篇文章:
核心动画教程 - 带转换的向导对话框
该CATransition设置是这样的:
CATransition *transition = [CATransition animation];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromLeft;
[self.view setAnimations:@{ @"subviews" : transition }];
Run Code Online (Sandbox Code Playgroud)
但是,当我替换视图时,会有一个淡入淡出的动画,它会被自动添加.
[NSAnimationContext beginGrouping];
{
[[self.view animator] replaceSubview:_currentViewController.view with:newViewController.view];
}
[NSAnimationContext endGrouping];
Run Code Online (Sandbox Code Playgroud)
如何在没有褪色的情况下进行推动动画?
无论视图是否支持CA,我发现获得平滑Core Animation转换的最佳方法是执行以下操作:
NSView -cacheDisplayInRect:toBitmapImageRep或类似方法创建要尝试动画的视图的图像