我正在为Mac制作一个导航控制器类。
我想用kCATransitionPush动画替换当前视图。
就像这篇文章:
核心动画教程-向导对话框与过渡
CATransition的设置如下:
CATransition *transition = [CATransition animation];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromLeft;
[self.view setAnimations:@{ @"subviews" : transition }];然而,当我替换视图,有一个淡出动画,这是自动添加。
[NSAnimationContext beginGrouping];
{
[[self.view animator] replaceSubview:_currentViewController.view with:newViewController.view];
}
[NSAnimationContext endGrouping];如何在不褪色的情况下制作推送动画?
发布于 2013-03-19 18:22:09
无论视图是否支持CA,获得平滑的核心动画转换的最佳方法是执行以下操作:
NSView -cacheDisplayInRect:toBitmapImageRep或类似的方法创建要动画的视图的图像发布于 2013-01-12 13:37:25
我怀疑您正在遇到隐式动画--核心动画将自动对发生在您自己事务之外的图层属性进行更改。
在这两个问题中,有几种禁用隐式动画的方法的总结:
禁用隐式动画in -[CALayer setNeedsDisplayInRect:]
...and您可以阅读更多关于隐式事务在核心动画文档中的信息。
发布于 2013-01-13 01:24:17
我认为从左边的过渡包括一个内置的淡出。IOS推送转换是可以的。
如果你不想那样的话,你可能不得不使用核心动画来进行你自己的推式转换。这在iOS和UIView动画中是很容易的。可悲的是,在Mac中没有类似的东西。我希望苹果能够回到Mac中,添加视图动画。我在iOS中使用它们会被宠坏,当我在Mac应用程序上工作时,我会想念它们。
https://stackoverflow.com/questions/14293684
复制相似问题