3 回答
TA贡献1789条经验 获得超10个赞
您可以做的是推送下一个视图控制器,但不对其进行动画处理,如下所示:
[self.navigationController pushViewController:nextController animated:NO];
...然后,在推入的视图控制器中,您可以使用CoreAnimation对视图进行自定义动画。这可能是最好的viewDidAppear:(BOOL)animated方法。
查看有关如何实际制作动画的《核心动画指南》。特别要看一下隐式动画。
TA贡献1796条经验 获得超4个赞
我使用以下功能(添加到中UINavigationController)自定义推送动画:
- (void) pushController: (UIViewController*) controller
withTransition: (UIViewAnimationTransition) transition
{
[UIView beginAnimations:nil context:NULL];
[self pushViewController:controller animated:NO];
[UIView setAnimationDuration:.5];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationTransition:transition forView:self.view cache:YES];
[UIView commitAnimations];
}
我想您可以修改此代码以执行所需的任何动画。
TA贡献1796条经验 获得超7个赞
您正在寻找的代码:
[UIView beginAnimations:@"View Flip" context:nil];
[UIView setAnimationDuration:0.80];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationTransition:
UIViewAnimationTransitionFlipFromRight
forView:self.navigationController.view cache:NO];
[self.navigationController pushViewController:menu animated:YES];
[UIView commitAnimations];
- 3 回答
- 0 关注
- 616 浏览
添加回答
举报