SWIFT:切换rootviewcontroller

时间:2014-10-30 00:31:19

标签: ios xcode swift

我有一个故事板,有两个不同的流程:

  1. 登录时用户必须使用的登录流程。此视图使用导航控制器。

  2. 所有登录用户使用的应用程序流。该视图利用了应用程序的UITabBarController。

  3. 我的目标是,如果我们检测到他们已登录到app delegate中,则将用户定向到常规应用程序流。同样,如果没有登录,我们希望用户使用登录流程。

    我的问题是我似乎无法从应用代理设置和加载这些不同的视图。

    我已经尝试了以下代码,但它似乎不起作用:

    ```

    var rootView: MyRootViewController = MyRootViewController()
    
     if let window = self.window{
            window.rootViewController = rootView
     }
    
     return true
    

    ```

    我想知道的一件事是我的rootviewcontroller应该是navigationcontroller或UITabbarController或其中的一个子视图......

1 个答案:

答案 0 :(得分:1)

将navigationController设置为rootViewController。使用instantiateViewControllerWithIdentifier获取一个视图控制器,它可以是登录控制器或tabbar控制器,然后推送导航堆栈上的视图控制器,这可以通过navigationController的setViewControllers方法完成。您可能希望在应用启动时隐藏导航栏。