2

可能重复:
如何在基于导航的应用程序中更改推送和弹出动画

使用 MonoTouch 和 MonoTouch.Dialog,我将 aDialogViewController推到 a 上 UINavigationController,当我这样做时,它会使当前显示的屏幕从右向左移动。我想知道如何扭转这种情况,使当前屏幕从左到右“推开”,就像按下后退按钮一样。我的代码如下,其中 _root 是 RootElement。

_viewController = new DialogViewController(_root, false);
_navController.PushViewController(_viewController, true);

编辑:我尝试过使用 _viewController.ModalTransitionStyle ,如果这些信息有帮助,则无济于事。

4

1 回答 1

3

您可以通过搜索 Stack Overflow 找到答案。例如这里: 如何在基于导航的应用程序中更改推送和弹出动画

MainView *nextView = [[MainView alloc] init];
[UIView animateWithDuration:0.75
                         animations:^{
                             [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
                             [super pushViewController:nextView animated:NO];
                             [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.navigationController.view cache:NO];
                         }];

这很容易在 MonoTouch 中翻译,并会变成类似(未经测试):

UIView.Animate(0.75f, 0f, UIViewAnimationOptions.CurveEaseIn, delegate {
                navController.PushViewController(...);
                UIView.SetAnimationTransition(UIViewAnimationTransition.FlipFromRight, navController.View, false);
            }, null);
于 2012-09-28T16:20:42.373 回答