2

I am using MMDraweController. It work perfectly. I have problem with rootViewController. When app starts it load loginViewController. So I dont want side bar menu there (loginViewController doesnt have any navigation controller). My problem is using code below the app starts from viewController, not loginViewController. How can I use login page with no side bar menu and viewController with side bar?

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()
Yestay Muratov
  • 1,338
  • 2
  • 15
  • 28

2 Answers2

1

When you load loginPageViewController just put this line of code:

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

    appDelegate.centerContainer!.openDrawerGestureModeMask = MMOpenDrawerGestureMode.None
Yestay Muratov
  • 1,338
  • 2
  • 15
  • 28
1

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!

Zeero0
  • 2,602
  • 1
  • 21
  • 36