如何更改 UINavigationController 推送过渡样式?
How do I change the UINavigationController push transition style?
我正在使用导航控制器并推送 segues 来控制我的应用程序的流程。无论如何要更改推送 segues 从右到左的默认动画?有什么我可以覆盖的地方吗?
谢谢
是的,您可以使用不同的动画更改 ViewController 的过渡样式。见下文 link。
我做了以下操作,效果很好..简单易懂..
CATransition* transition = [CATransition animation];
transition.duration = 0.5;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionFade; //kCATransitionMoveIn; //, kCATransitionPush, kCATransitionReveal, kCATransitionFade
//transition.subtype = kCATransitionFromTop; //kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom
[self.navigationController.view.layer addAnimation:transition forKey:nil];
[[self navigationController] popViewControllerAnimated:NO];
推送也一样..
不要忘记包含 QuartCore (#import)
您可以从 UIStoryboardSegue
创建一个 NSObject
class 和子 class 它,然后重写 -(void)perform
函数以赋予它您自己的自定义动画.
在那里您可以使用任何预定义的或您自己的动画。
有关详细信息,请查看 this link.
我正在使用导航控制器并推送 segues 来控制我的应用程序的流程。无论如何要更改推送 segues 从右到左的默认动画?有什么我可以覆盖的地方吗?
谢谢
是的,您可以使用不同的动画更改 ViewController 的过渡样式。见下文 link。
我做了以下操作,效果很好..简单易懂..
CATransition* transition = [CATransition animation];
transition.duration = 0.5;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionFade; //kCATransitionMoveIn; //, kCATransitionPush, kCATransitionReveal, kCATransitionFade
//transition.subtype = kCATransitionFromTop; //kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromTop, kCATransitionFromBottom
[self.navigationController.view.layer addAnimation:transition forKey:nil];
[[self navigationController] popViewControllerAnimated:NO];
推送也一样..
不要忘记包含 QuartCore (#import)
您可以从 UIStoryboardSegue
创建一个 NSObject
class 和子 class 它,然后重写 -(void)perform
函数以赋予它您自己的自定义动画.
在那里您可以使用任何预定义的或您自己的动画。
有关详细信息,请查看 this link.