SWRevealViewController 切换不适用于自定义导航栏按钮

SWRevealViewController toggle not working with custom Navigation Bar Button

我正在使用 SWRevealViewController 在 Swift 2.0 中显示侧边菜单 我已经从 GitHub 下载了文件,创建了桥接头并正确连接了转场。我正在创建自定义按钮,但操作 "reveal toggle" 未触发。我哪里出错了?

super.viewDidLoad()
    self.navigationController?.navigationBar.topItem?.title = "DASHBOARD"
    self.navigationController!.navigationBar.tintColor = UIColor.whiteColor()
    self.navigationController!.navigationBar.titleTextAttributes =
        [NSForegroundColorAttributeName: UIColor.whiteColor()]
    self.navigationController!.navigationBar.titleTextAttributes = [ NSFontAttributeName: UIFont(name: "Teko-Regular", size: 26)!]
    self.navigationController?.navigationBar.barTintColor = UIColor.redColor()
    let btnName = UIButton()
    btnName.setImage(UIImage(named: "LeftNavItem"), forState: .Normal)
    btnName.frame = CGRectMake(0, 0, 20, 20)

    let leftBarButton = UIBarButtonItem()
    leftBarButton.customView = btnName
    self.navigationItem.leftBarButtonItem = leftBarButton
    if self.revealViewController() != nil {
        //print(self.revealViewController())
        leftBarButton.target = self.revealViewController()
        leftBarButton.action = Selector("revealToggle:")

        self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
    }

手势识别器可以正常触发,但不能正常触发 "revealToggle:" 有什么错误吗?

class Name: SWRevealViewControllerDelegate

override func viewDidLoad() {
  super.viewDidLoad()

   self.revealViewController().delegate = self

}

我在使用 SWRevealViewController 时遇到了同样的问题。 解决方案:**登录后我之前调用仪表板屏幕但现在 我用下面的 SWrevealviewcontroller 替换了 code.that 现在工作正常

 let storyboard = UIStoryboard(name: "Main", bundle: nil)
                let viewController1 =
                    storyboard.instantiateViewController(withIdentifier: "SWRevealViewController") as! SWRevealViewController
                self.present(viewController1, animated: true,completion: nil)

*在viewdidload()方法中添加以下代码

 if revealViewController() != nil {
        menuoutlet.target = self.revealViewController()
         menuoutlet.action = #selector(SWRevealViewController.revealToggle(_:))
        self.view.addGestureRecognizer(revealViewController().panGestureRecognizer())
        self.revealViewController().rearViewRevealWidth = 240
    }

菜单按钮操作代码

  @IBAction func menu(_ sender: Any) {
    let btntitle = (sender as AnyObject).currentTitle!
    self.revealViewController().rearViewController.performSegue(withIdentifier: btntitle!, sender: self.revealViewController().rearViewController)
}