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

时间:2015-01-19 11:24:13

标签: ios xcode uiviewcontroller uinavigationcontroller

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

由于

3 个答案:

答案 0 :(得分: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];

推送同样的事情......

不要忘记包含QuartCore(#import)

答案 1 :(得分:1)

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

  1. transition style animation

  2. ViewController transition

  3. Custom ViewController transition

  4. ADTransitionController

  5. transition

  6. ViewController T

答案 2 :(得分:0)

您可以创建NSObject类并从UIStoryboardSegue继承它,然后覆盖-(void)perform函数,为其提供自己的自定义动画。 在那里,您可以使用预定义或您自己的任何动画。 有关详细信息,请结帐this link