如何更改UINavigationController推送过渡样式?

Kex*_*Kex 6 xcode uiviewcontroller uinavigationcontroller ios

我正在使用导航控制器并推送segues来控制我的应用程序的流量.无论如何都要改变推送segues的从右到左的默认动画?有什么东西我可以覆盖某个地方吗?

谢谢

小智 11

我做了以下,它工作正常..而且简单易懂.

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];
Run Code Online (Sandbox Code Playgroud)

推送同样的事情..

别忘了包含QuartCore(#import)

  • 这是一个重复的答案:http://stackoverflow.com/questions/2215672/how-to-change-the-push-and-pop-animations-in-a-navigation-based-app (2认同)