3

ナビゲーション内でコントローラーを押すと、基本的なフリップ アニメーション トランジションが動作するようにしようとしています。以下のコードはビューを反転しますが、ビューが最初に表示され (各要素がフェードイン)、次に反転が発生します。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();
    }
}
4

2 に答える 2

4

私はちょっとそこにいましたが、ビューはから取得する必要がありますNavigationController:

// 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();
于 2010-03-31T13:41:46.153 に答える
0

私は専門家ではありませんが、アニメーション化されることを示す PushViewcontroller の TRUE について疑問に思っています。それが NavigationController に最初の量のアニメーション作業を行わせ、その後にあなたの作業が続くかどうか疑問に思っています。false に設定するとどうなりますか? 私たちは、何も考えずに自動的にそこに TRUE を入れる傾向があることを知っています。

于 2010-03-30T13:55:03.727 に答える