我正在应用程序中实现抽屉布局设计。
但是我的应用程序首先是一个带有动画徽标的小屏幕(简单的HTML5动画),然后是一个登录屏幕(g +和​​Facebook),然后是实现MMDrawerController的主屏幕。

问题在我的AppDelegate中:

 window?.rootViewController = centerContainer
 window?.makeKeyAndVisible()


因此,该应用程序在此屏幕中启动。是否可以不使rootviewcontroller成为中心容器,而仍使用MMDrawerController?

我需要在应用程序中将MMDrawerController添加到我的第三个viewcontroller中
但是,为了使MMDrawerController工作,它需要是rootViewController

我已经准备尝试向我的第一个ViewController添加一个空的MMDrawerLayout,但是,第三个控制器不再起作用

 //global var
 var centerContainer : MMDrawerController?
 // then the appdelegate
 let rootViewController = self.window!.rootViewController
 let mainStoryBoard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
 let centerViewController = mainStoryBoard.instantiateViewControllerWithIdentifier("GaleriaPeliculas")

 let leftViewController = mainStoryBoard.instantiateViewControllerWithIdentifier("LeftSideViewController")

 let leftSideNav = UINavigationController(rootViewController: leftViewController)
 let centerSideNav = UINavigationController(rootViewController: centerViewController)

 //And here is the problem,
 window?.rootViewController = centerContainer //how can it work without this line??
 window?.makeKeyAndVisible()

最佳答案

是否可以不使rootviewcontroller成为中心容器,而仍使用MMDrawerController?


不。如果您仍然想使用左右抽屉,则需要将MMDrawerController保留为rootViewController。它与UITabBarController并无不同,因为它包含要有条件显示的多个视图控制器。

关于swift - 可以是非rootviewcontroller吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35003974/

10-12 16:18