2015-04-19 36 views
2

我正在使用MMDraweController。它工作完美。我有rootViewController的问题。当应用程序启动时,它加载loginViewController。所以我不想要侧栏菜单那里(loginViewController没有任何导航控制器)。我的问题是使用下面的代码应用程序从viewController开始,而不是loginViewController。我怎样才能使用登录页面没有侧栏菜单和viewController边栏?swift MMDrawerController:想改变rootViewController

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() 
+0

我试图改变窗口!.RootViewController = loginViewController但它给了我一个错误 –

+0

发现任何解决方案? –

+0

是的,一分钟我会把答案 –

回答

1

当加载loginPageViewController只要把下面这行代码:

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

    appDelegate.centerContainer!.openDrawerGestureModeMask = MMOpenDrawerGestureMode.None 
+0

把它放到viewdidload方法 –

+0

看看我的问题...你有同样类型的问题..... http://stackoverflow.com/questions/29944715/set-up-side-drawer-controller或故事板位置 –

+0

遐我把它放在viewdidload中,但它仍然去viewcontrolled insted登录....我只是改变代码与您的问题代码....请帮助我哥们...有一个相同的情况 –

0

为时已晚,但可能帮助别人......

我通过创建的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() 
} 

然后在登录完成后调用此函数或另一个ViewController像这样

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

就是这样!