我正在尝试使用SlideMenuController
library将左侧菜单放在Home
屏幕上,但在经过Login
屏幕之后。问题是,当我单击登录
屏幕的按钮时,会显示一个空白屏幕,没有菜单。
我做了什么:
- 在
main.storyboard
上,我添加了一个UIViewController
,它有一个按钮(这将是我 future 的登录
屏幕),并且我已声明它作为“是初始 View Controller ”。我还使用UIViewControllerProve
引用了此屏幕。
在UIViewControllerProve
上我有以下代码:
import UIKit
class UIViewControllerProve: UIViewController {
@IBAction func btnProve(sender: AnyObject) {
createMenuView()
}
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
class ContainerViewController: SlideMenuController {
override func awakeFromNib() {
if let controller = self.storyboard?.instantiateViewControllerWithIdentifier("Main") {
self.mainViewController = controller
}
if let controller = self.storyboard?.instantiateViewControllerWithIdentifier("Left") {
self.leftViewController = controller
}
super.awakeFromNib()
}
}
private func createMenuView() {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let mainViewController = storyboard.instantiateViewControllerWithIdentifier("MainViewController") as! MainViewController
let leftViewController = storyboard.instantiateViewControllerWithIdentifier("LeftViewController") as! LeftViewController
let nvc: UINavigationController = UINavigationController(rootViewController: mainViewController)
UINavigationBar.appearance().tintColor = UIColor(hex: "689F38")
leftViewController.mainViewController = nvc
self.slideMenuController()?.automaticallyAdjustsScrollViewInsets = true
let appDelegate = UIApplication.sharedApplication().delegate
appDelegate!.window?!.backgroundColor = UIColor(red: 236.0, green: 238.0, blue: 241.0, alpha: 1.0)
appDelegate!.window?!.rootViewController = self.slideMenuController()
appDelegate!.window?!.makeKeyAndVisible()
self.slideMenuController()?.openLeft()
}
}
在
AppDelegate.swift
上,我评论了这些函数:createMenuView
和application
。我引用了创建者在他的GitHub中的例子。 .
如何才能在单击登录
屏幕上的按钮时显示菜单?我错过了什么吗?
提前致谢!
最佳答案
首先添加此行Appdelegate
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let mainViewController = storyboard.instantiateViewControllerWithIdentifier("MainViewController") as! MainViewController
let leftViewController = storyboard.instantiateViewControllerWithIdentifier("LeftViewController") as! LeftViewController
let nvc: UINavigationController = UINavigationController(rootViewController: mainViewController)
leftViewController.welcomescreen = nvc
let slideMenuController = ExSlideMenuController(mainViewController:nvc, leftMenuViewController: leftViewController)
slideMenuController.automaticallyAdjustsScrollViewInsets = true
slideMenuController.delegate = mainViewController2
self.window?.rootViewController = slideMenuController
self.window?.makeKeyAndVisible()
然后在添加按钮操作之后 只有一行
slideMenuController()?.toggleLeft()
然后打开幻灯片菜单并选择选项。
关于ios - SlideMenuController 未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39205280/