【问题标题】:SWRevealController ProgrammaticallySWRevealController 以编程方式
【发布时间】:2018-06-05 11:56:45
【问题描述】:

我试图通过在我的 ViewController 中调用 SWRevealController Delegate 以编程方式使用 SWRevealController,但是当我将以下内容添加到 viewDidLoad() 时,barButtonItem 不起作用并且应用程序在遇到 addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 时崩溃。下面是viewDidLoad中的代码:

navigationItem.leftBarButtonItem = UIBarButtonItem(image: #imageLiteral(resourceName: "menu2-black-32").withRenderingMode(.alwaysOriginal), style: .plain, target:   self.revealViewController(), action: #selector(SWRevealViewController.revealToggle(_:)))
        self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())

我不确定是什么导致了这个问题,因为这段代码适用于我的一个视图控制器,而其他任何一个都不起作用。

当我将代码编辑为如下所示时,看起来我的 self.revealViewController() 为 nil:

if self.revealViewController() != nil {
      navigationItem.leftBarButtonItem = UIBarButtonItem(image: 
      #imageLiteral(resourceName: "menu2-black-
      32").withRenderingMode(.alwaysOriginal), style: .plain, target: 
      self.revealViewController(), action: 
      #selector(SWRevealViewController.revealToggle(_:)))  self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
        }

但我不确定为什么它是 nil。

【问题讨论】:

  • revealViewController() 是什么?你可以发布代码吗?

标签: swift swrevealviewcontroller


【解决方案1】:

首先你需要创建条形按钮

 @IBOutlet weak var menuButton: UIBarButtonItem!

在 viewDidLoad 你可以添加这个

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

这很好,你也可以自定义 menuButton(UIBarButtonItem)

【讨论】:

  • 但问题是我的self.revealController 为nil,所以代码永远不会被执行
  • 你添加了revealcontroller类.h和.m类
猜你喜欢
  • 2021-06-17
  • 2017-08-22
  • 2013-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多