【发布时间】: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