Изменение направления перехода ViewController?

Возможный дубликат:
Как изменить анимацию Push и Pop в приложении на основе навигации

Используя MonoTouch и MonoTouch.Dialog, у меня есть DialogViewController, который я нажимаю на UINavigationController, и когда я это делаю, он заставляет текущий отображаемый экран перемещаться справа налево. Мне было интересно, как бы я изменил это, сделав текущий экран «сдвинутым» слева направо, например, когда вы нажимаете кнопку «Назад». Мой код ниже, где _root - это RootElement.

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

РЕДАКТИРОВАТЬ: Я пробовал использовать _viewController.ModalTransitionStyle и тому подобное, но безрезультатно, если эта информация помогает.


person Smoore    schedule 28.09.2012    source источник


Ответы (1)


Вы можете найти ответ, выполнив поиск по переполнению стека. Например, здесь: Как изменить анимацию Push и Pop в приложении на основе навигации

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);
person Krumelur    schedule 28.09.2012