我正在应用程序中实现抽屉布局设计。
但是我的应用程序首先是一个带有动画徽标的小屏幕(简单的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/