ios - SlideMenuController 未显示

标签 ios swift

我正在尝试使用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 上,我评论了这些函数:createMenuViewapplication

  • 我引用了创建者在他的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/

相关文章:

swift - 保存 Bool/tableView 复选标记 - 第三次幸运

Swift willSet/didSet 赋值?

ios - 将 CGPoints (CIRectangleFeature) 从 Image 转换为 ImageView

ios - 使其布局无效时与 UICollectionView 单元格选择相关的问题

ios - 如何将按钮图标添加到自定义键盘 iOS 8?

ios - Facebook 邀请通知在 iOS 中不起作用

swift - AWS Dynamodb 对象映射器错误

ios - 如何知道后台任务是否 swift 完成?

iphone - 当选择 UITableView 中的行时,使 UINavigationBar 中的完成按钮出现

ios - Xcode 5 头文件未找到?