3

所以我想在我的应用程序中添加一个滑动菜单,如果你点击一个按钮,菜单会从左侧滑动。经过一番研究,我找到了使用 SWRevealViewController 创建滑出式菜单的指南,但我很快意识到该视频以及几乎所有其他 SWReveal 指南都使用一个UIBarButtonItem按钮来显示菜单。所以我需要帮助的是弄清楚如何按照指南所说的去做UIBarButtonItemUIButton而不是做。

假设有一个UIBarButtonItem名为 OpenSideBar。该指南说要在viewDidLoad方法中执行此操作:

OpenSideBar.target = self.revealViewController()
OpenSideBar.action = Selector("revealToggle")

所以我不确定那是做什么的,但我需要找到一种方法来做UIButton. 对它的作用的解释也将不胜感激,因为视频中的那个人没有做太多解释。

该按钮当前是一个插座:

@IBOutlet weak var OpenSideBar: UIButton!

但请指定我是否应该将它重新创建为一个动作,并在函数而不是viewDidLoad方法中做一些事情。提前致谢。

PS SWViewController.h 文件可以在 github 上的这个链接找到:

https://github.com/PCmex/lift-side-memu-in-swift-3/blob/master/memuDemo/SWRevealViewController.h

和 SWViewController.m 在这个链接:

https://github.com/PCmex/lift-side-memu-in-swift-3/blob/master/memuDemo/SWRevealViewController.m

4

1 回答 1

3

该行为OpenSideBar.target = self.revealViewController()您设置目标,UIBarButtonItem该行OpenSideBar.action = Selector("revealToggle")设置在点击所述按钮时需要执行的操作。

UIButton您可以使用以下两种方式之一来实现此功能。您可以UIButton像设置 `UIBarButtonItem. 唯一的区别是它们都有不同的语法。你会这样做

OpenSideBar.addTarget(self.revealViewController(), action: #selector(SWRevealViewController.revealToggle(_:)), for: .touchUpInside)

或者你可以连接你的@IBAction和你的方法,使用

self.revealViewController().revealToggle(self)
于 2017-05-09T06:08:54.080 回答