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

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

谢谢

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

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)

是的,您可以使用不同的动画更改ViewController的过渡样式。 见下面的链接。

  1. 过渡风格动画

  2. ViewController过渡

  3. 自定义ViewController转换

  4. ADTransitionController

  5. 过渡

  6. ViewController T

您可以创建一个NSObject类,并从UIStoryboardSegue它,然后覆盖-(void)perform函数,为它提供自己的自定义动画。 在那里,您可以使用任何预定义或您自己的动画。 有关详细信息,请查看此链接 。