3

MonoTouch を使用して、LogonViewController をウィンドウに追加し、FinishedLaunching で表示します。

        window = new UIWindow(UIScreen.MainScreen.Bounds);
        window.RootViewController = new LogonViewController();
        window.MakeKeyAndVisible();

LogonViewControllerで、 MainViewContollerと呼ばれるメイン VC を追加し、 LogonViewController を削除するにはどうすればよいです? (これは、ユーザーがログインすると発生するアクションです。)

4

2 に答える 2

6

を置き換えることができたとしても、それwindow.RootViewControllerは通常行われる方法ではありません。ほとんどの場合RootViewController、そこからログインを含むナビゲーションを定義して処理します。少なくとも私はそうしています。

//AppDelegate.cs
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
    window = new UIWindow (UIScreen.MainScreen.Bounds);
    window.RootViewController = new MainViewController ();      
    window.MakeKeyAndVisible ();
    return true;
}

//MainViewController.cs
public override void ViewDidLoad ()
{
    base.ViewDidLoad ();
    if (not_logged_in)
        PresentViewController (new LoginViewController (), true, ()=>{});
}
于 2013-05-10T08:13:24.510 に答える
5

これの価値は、私が以前に行った方法です。

public static void swapRootView(UIViewController newView, UIViewAnimationOptions opt)
        {
            UIView.Transition(mainWindow, 0.5, opt, delegate{
                mainWindow.RootViewController = newView;

            },null);
        }

次に、ログインがOKになったら、このオプションでそのメソッドを呼び出します。

swapRootView(yourNewViewController, UIViewAnimationOptions.TransitionFlipFromRight);
于 2013-05-13T01:30:54.040 に答える