【发布时间】:2015-11-02 23:11:48
【问题描述】:
注意:问题已解决。
故事来了。我在我的项目中使用 RevealViewController。我还隐藏了导航栏:
[self.navigationController setNavigationBarHidden];
我的项目如下图所示,“menuButton”在tabBarViewController中实现。
由于我的界面看起来隐藏了导航栏,所有的 tabViews (HomeViewController) 都不会按预期显示 menuButton 和 navigationBar。我也没有使用 panGestureRecognizer 来触发菜单。
这意味着我无法通过 HomeViewController 中的普通按钮触发菜单。 menuButton-event 放在 tabBarViewController.m:
_menuButton.target = self.revealViewController;
_menuButton.action = @selector(revealToggle:);
所以我尝试从 HomeViewController 调用一个方法来触发 tabBarViewController 中的按钮,如下所示:
HomeViewController.m
- (IBAction) onMenuClicked: (id)sender{
tabBar = [[tabBarViewController alloc] init];
[tabBar setupMenu]:
}
tabBarViewController.m
-(void) setupMenu{
[_realMenuButton sendActionForControlEvents:UIControlEventTouchUpInside];
[_realMenuButton addTarget:self.revealViewController action:@selector(revealToggle:) UIControlEventTouchUpInside];
}
在本例中,我尝试制作 realMenuButton 和普通 UIButton。我也尝试作为 UIBarButtonItem 来触发 @selector(revealToggle:) 但是当我尝试从 HomeViewController 触发按钮时,应用程序中没有任何反应。
不知道我将如何完成这项工作。还有其他想法或技巧吗?如果有请具体说明!问候
【问题讨论】:
-
好吧,你有没有试过让初始视图控制器不是 SWRevealViewController?发生了什么?
-
是的。我的初始视图控制器是 TabBarController。当我单击菜单按钮(在我的主视图控制器中)时,它不会加载表视图控制器。根本没有任何反应。我完全按照指南进行操作并查看了示例项目。唯一的区别是在我的项目中我没有使用 SWReveal 类作为初始视图控制器。所以我假设这就是问题所在。
标签: ios uibutton uinavigationbar uibarbuttonitem swrevealviewcontroller