更改UINavigationController NavigationBar的动画

5

现在当我使用 [self.navigationController setNavigationBarHidden:NO animated:YES];

导航栏从右边飞入,有没有一种方法让它从上往下掉下来?

1个回答

12

试一试这个:

CATransition *transition = [CATransition animation];
transition.duration = kAnimationDuration;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;
transition.subtype = kCATransitionFromTop;
transition.delegate = self;
[self.navigationController.view.layer addAnimation:transition forKey:nil];

self.navigationController.navigationBarHidden = NO;
[self.navigationController pushViewController:tableViewController animated:YES];

对我非常有用。

来源:http://www.iphonedevsdk.com/forum/iphone-sdk-development/25045-navigation-controller-custom-animation.html


1
还有这个:http://dmunsie.wordpress.com/2009/08/07/custom-animations-between-uiviewcontrollers/ - tobyc
无法阅读该网站。几乎是黑色字体在黑色背景上。 - Duck
3
我不得不将 animated 更改为 NO,否则它会变得卡顿且混乱。 - Mr Rogers
1
非常好的答案,我欠你一个+1。 - tryKuldeepTanwar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接