SlideMenu无法正常工作

时间:2016-12-23 11:23:04

标签: ios swift

我有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()

2 个答案:

答案 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)