Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IOS在登录后更改rootview控制器_Ios_Swift_Login_Navigation Drawer - Fatal编程技术网

IOS在登录后更改rootview控制器

IOS在登录后更改rootview控制器,ios,swift,login,navigation-drawer,Ios,Swift,Login,Navigation Drawer,我在应用程序中实现了一个侧抽屉,它要求我在应用程序委托中设置根视图控制器。我现在正在登录屏幕上工作。要访问登录屏幕,我必须注释出设置根视图控制器的位置。用户登录后,如何设置根视图控制器 下面是我的应用程序代理(或部分) AppDelegate func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

我在应用程序中实现了一个侧抽屉,它要求我在应用程序委托中设置根视图控制器。我现在正在登录屏幕上工作。要访问登录屏幕,我必须注释出设置根视图控制器的位置。用户登录后,如何设置根视图控制器

下面是我的应用程序代理(或部分)

AppDelegate

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

    let centerViewController = mainStoryboard.instantiateViewControllerWithIdentifier("ViewController") as!ViewController

    let drawerViewController = mainStoryboard.instantiateViewControllerWithIdentifier("DrawerViewController") as!DrawerViewController

    let leftSideNav = UINavigationController(rootViewController: drawerViewController)
    let centerNav = UINavigationController(rootViewController: centerViewController)

    centerContainer = MMDrawerController(centerViewController: centerNav, leftDrawerViewController: leftSideNav)

    centerContainer!.openDrawerGestureModeMask = MMOpenDrawerGestureMode.PanningCenterView;
    centerContainer!.closeDrawerGestureModeMask = MMCloseDrawerGestureMode.PanningCenterView;

    //window!.rootViewController = centerContainer
    window!.makeKeyAndVisible()

    return FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)

}
我有一个在成功登录后处理segue的方法,但不知道如何将根控制器设置在代理之外。
总之,如果我取消注释
//window!。rootViewController=centerContainer
行,但无法访问登录视图

您可以动态交换根视图控制器:

self.view.window!.rootViewController = newVc
这里有一个简单的例子:。
可以在此处找到完整的示例:


交换
根视图控制器是一次性操作:没有后退按钮,没有动画。

您可以动态交换根视图控制器:

self.view.window!.rootViewController = newVc
这里有一个简单的例子:。
可以在此处找到完整的示例:

交换
rootViewController
是一次性操作:没有后退按钮,没有动画