所以我想在我的应用程序中添加一个幻灯片菜单,如果点击一个按钮,菜单将从左侧滑动。经过一些研究后,我找到了使用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
答案 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}}