Uiview 使用NavigationController.PushViewController开始初始化和提交

Uiview 使用NavigationController.PushViewController开始初始化和提交,uiview,xamarin.ios,commitanimations,beginanimations,Uiview,Xamarin.ios,Commitanimations,Beginanimations,当我在导航中按下一个控制器时,我试图让一个基本的翻转动画转换工作。下面的代码将翻转视图,但视图将首先显示(每个元素淡入),然后翻转。是否可以使用UINavigationController执行翻转动画 任何指针都很好,我发现Monotouch的示例是在另一个视图中的视图上执行动画 void ToolbarButtonClick() { InformationController controller = new InformationController(); Navigatio

当我在导航中按下一个控制器时,我试图让一个基本的翻转动画转换工作。下面的代码将翻转视图,但视图将首先显示(每个元素淡入),然后翻转。是否可以使用UINavigationController执行翻转动画

任何指针都很好,我发现Monotouch的示例是在另一个视图中的视图上执行动画

void ToolbarButtonClick()
{
    InformationController controller = new InformationController();
    NavigationController.PushViewController(controller,true);
}

public class InformationController : UIViewController
{
    public override void ViewDidLoad ()
    {
        UIView.BeginAnimations("Flip");
        UIView.SetAnimationDuration(1.0);
        UIView.SetAnimationTransition(UIViewAnimationTransition.FlipFromRight,View,true);

        base.ViewDidLoad ();
        Title = "Information";
    }

    public override void ViewWillAppear (bool animated)
    {
        base.ViewWillAppear (animated);
    }

    public override void ViewDidAppear (bool animated)
    {
        base.ViewDidAppear (animated);
        UIView.CommitAnimations();
    }
}

我不是专家,但我想知道PushViewcontroller上的真实情况,这表明它将被设置动画。我想知道这是否让NavigationController完成了最初的动画工作,然后是您的动画工作。当您将其设置为false时,会发生什么?我知道我们倾向于在没有思考的情况下自动将真值放入其中。

我当时在那里,但视图需要从
导航控制器中获取:

// Push the controller first or the Title doesn't animate
NavigationController.PushViewController(controller,false);

UIView.BeginAnimations(null,IntPtr.Zero);
UIView.SetAnimationDuration(1);
UIView.SetAnimationTransition(UIViewAnimationTransition.FlipFromLeft,
                              NavigationController.View,true);
UIView.CommitAnimations();

如果删除TRUE,则根本不会发生动画