我在我的申请中使用SWRevealController
,并按照此处所述的说明操作:http://www.appcoda.com/ios-programming-sidebar-navigation-menu/
但似乎sidebarButton
不会触发切换
我已将其设置如下:
初始视图控制器类已设置为SWRevealViewController
已创建Segue,将其链接到NavigationViewController
,并且segue已被赋予标识符sw_front
我有menuViewController
来自UITableViewController
我从初始视图控制器创建了一个segue,其类为SWRevealViewController
到menuViewController
,并为该segue提供了一个标识符sw_rear
在mainViewController.m
我已导入SWRevealViewController.h
,我已设置菜单按钮
@property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton;
在viewDidLoad方法的mainViewController中,我有以下内容:
SWRevealViewController *revealViewController = [self revealViewController];
if ( revealViewController )
{
[self.sidebarButton setTarget:self.revealViewController];
[self.sidebarButton setAction: @selector(revealToggle:)];
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
}
当我运行应用程序并在我设置目标的位置设置断点并按下Action按钮时,我可以看到它们已被分配。
但是,当我单击按钮时,revealViewController.revealToggle
方法未触发。
我想知道是否需要设置触发它的事件 - 就像touchupInside
事件一样。但我查看了所有示例代码https://github.com/appcoda/Slideout-Sidebar-Demo/tree/master/SidebarDemo并且无法看到他们在哪里做了。我不知道为什么revealToggle动作没有触发。
非常感谢任何建议
答案 0 :(得分:1)
您需要将按钮放在@property (weak, nonatomic) IBOutlet UIBarButtonItem *sidebarButton;
你可以看到这个例子 https://github.com/John-Lluch/SWRevealViewController/tree/master/RevealControllerStoryboardExample2