带有UIButton的SWReveal

时间:2017-05-08 22:48:54

标签: ios swift uibutton swrevealviewcontroller uibuttonbaritem

所以我想在我的应用程序中添加一个幻灯片菜单,如果点击一个按钮,菜单将从左侧滑动。经过一些研究后,我找到了使用SWRevealViewController创建滑出菜单的指南,但我很快意识到,视频以及SWReveal的其他几乎所有指南都使用了//use your database dbcontext using (BreazEntities21 db = new BreazEntities21()) { int[] a1 = { 5, 6 }; var r1 = (from row in db.theProducts where a1.Contains((int)row.id) select row).ToList(); int[] a2 = { 7 }; var r2 = (from row in db.theProducts where a2.Contains((int)row.id) select row).ToList(); var mergedList = r1.Union(r2).ToList(); var summation = mergedList.Sum(r => r.id); var s1 = new JavaScriptSerializer().Serialize(summation); } 来点击按钮来显示菜单。所以我需要帮助的是弄清楚指导如何为UIBarButtonItem执行操作,而对UIBarButtonItem执行操作。

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

viewDidLoad

所以我不确定那是做什么的,但我需要找到一种方法来为OpenSideBar.target = self.revealViewController() OpenSideBar.action = Selector("revealToggle") 做这件事。对它的作用的解释也将受到赞赏,因为视频中的人没有做太多的解释。

该按钮目前是一个插座:

UIButton

但是请指定我是否应该将其重新创建为操作,并在函数中执行操作而不是@IBOutlet weak var OpenSideBar: UIButton! 方法。 提前谢谢。

P.S。可以在此链接的github上找到SWViewController.h文件:

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

1 个答案:

答案 0 :(得分:1)

UIBarButtonItem行设置了OpenSideBar.action = Selector("revealToggle")的目标,而行UIButton设置了点按所述按钮时需要执行的操作。

您可以使用UIButton以两种方式之一来实现此功能。 您可以像设置`UIBarButtonItem一样为OpenSideBar.addTarget(self.revealViewController(), action: #selector(SWRevealViewController.revealToggle(_:)), for: .touchUpInside) 设置目标操作。唯一的区别是它们都有不同的语法。你会这样做

@IBAction

或者您可以连接self.revealViewController().revealToggle(self) 并在您的方法中使用

{{1}}