swift MMDrawerController: want to change rootViewController

落花浮王杯 提交于 2019-12-06 10:16:44

When you load loginPageViewController just put this line of code:

 var appDelegate: AppDelegate =  UIApplication.sharedApplication().delegate as AppDelegate

    appDelegate.centerContainer!.openDrawerGestureModeMask = MMOpenDrawerGestureMode.None

Too late but might help someone else...

I solved such issue by creating a function in AppDelegate.swift

func goToMainVC() {
    var rootViewController = self.window!.rootViewController
    let mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)

    var centerViewController  = mainStoryBoard.instantiateViewControllerWithIdentifier("ViewController") as ViewController
    //var rootViewController = centerViewController

    var leftViewController = mainStoryBoard.instantiateViewControllerWithIdentifier("SideBarMenuViewController") as SideBarMenuViewController
    var leftSideNav = UINavigationController(rootViewController: leftViewController)
    var centerSideNav = UINavigationController(rootViewController: centerViewController)

    centerContainer = MMDrawerController(centerViewController: centerSideNav, leftDrawerViewController: leftSideNav)
    centerContainer!.openDrawerGestureModeMask = MMOpenDrawerGestureMode.PanningCenterView
    centerContainer!.closeDrawerGestureModeMask = MMCloseDrawerGestureMode.PanningCenterView

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

Then called this function after finishing from login or another ViewController like this

let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.goToMainVC()

That's it!

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!