更改UINavigationController Push Animation的持续时间

时间:2012-01-27 01:33:43

标签: iphone objective-c ios core-animation

我喜欢UINavigationController使用的默认“推送”动画,但我希望将其减慢到大约1.0秒。有什么建议?

PS-我尝试使用带有kCATransitionPush和kCATransitionFromRight的CATransition,但是我得到了一种奇怪的淡入淡出效果,这是不可取的。

2 个答案:

答案 0 :(得分:0)

在我的应用程序(flashcard应用程序)中,我使用此代码:

FlashCardFlipVC * flipvc = [[FlashCardFlipVC alloc] initWithFlashCardData:_card];
flipvc.navigationItem.title = self.navigationItem.title;

[UIView  beginAnimations:@"ShowAnswers" context: nil];
[UIView setAnimationCurve: UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.75];
[self.navigationController pushViewController: flipvc animated:NO];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.navigationController.view cache:NO];
[UIView commitAnimations];

[flipvc release];

它设置不同于普通的动画模式(卷曲而不是幻灯片)和不同的时间设置。你当然可以使用自己的。

答案 1 :(得分:-2)

您是否尝试过设置setAnimationDuration:?