我有Side Menu这个作为SlideMenu。但我希望它从我的ShopHome屏幕开始。在我的应用程序中,我的root / initial VC是Login页面。当我使用下面的代码时,它直接进入ShopHome。但我希望我的应用程序从登录开始,然后在ShopHome屏幕上启动菜单。我尝试将root更改为我的LoginVC但是当我在ShopHome页面时菜单不起作用。
的AppDelegate
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let mainViewController = storyboard.instantiateViewController(withIdentifier: "ShopHomeVC") as! ShopHomeVC
let rightViewController = storyboard.instantiateViewController(withIdentifier: "RightMenuVC") as! RightMenuVC
let nvc: UINavigationController = UINavigationController(rootViewController: mainViewController)
let slideMenuController = SlideMenuController(mainViewController: nvc, rightMenuViewController: rightViewController)
self.window?.rootViewController = slideMenuController
self.window?.makeKeyAndVisible()
答案 0 :(得分:0)
我查看了幻灯片菜单
使用此功能并委托添加
let leftViewController = storyboard.instantiateViewController(withIdentifier: "LeftViewController") as! LeftViewController
let rightViewController = storyboard.instantiateViewController(withIdentifier: "RightViewController") as! RightViewController
let nvc: UINavigationController = UINavigationController(rootViewController: mainViewController)
let slideMenuController = SlideMenuController(mainViewController: nvc,leftMenuViewController: leftViewController, rightMenuViewController: rightViewController)
slideMenuController.automaticallyAdjustsScrollViewInsets = true
slideMenuController.delegate = mainViewController
self.window?.rootViewController = slideMenuController
self.window?.makeKeyAndVisible()
答案 1 :(得分:0)
这就是我解决它的方式。在我的LoginButton操作上改变了我的根。
@IBAction func loginButtonAction(_ sender: Any) {
let mainViewController = storyboard.instantiateViewController(withIdentifier: "ShopHomeVC") as! ShopHomeVC
let rightViewController = storyboard.instantiateViewController(withIdentifier: "RightMenuVC") as! RightMenuVC
let nvc: UINavigationController = UINavigationController(rootViewController: mainViewController)
let slideMenuController = SlideMenuController(mainViewController: nvc, rightMenuViewController: rightViewController)
UIApplication.shared.delegate?.window?.rootViewController = slideMenuController
}
感谢@ kaminara4(GitHub)