这个问题之前已经被问过并且已经被回答了,我的问题并不是唯一的,但是由于我尝试过的任何结构都不起作用,所以必须有一些缺失。我只是想尝试实现SWRevealViewController"菜单"标签栏控制器的每个场景中的按钮。
这是当前的设置:
Textwise:SWRevealViewController - >揭示视图控制器设置控制器(sw_front) - >导航控制器 - >根视图控制器(segue) - >标签栏控制器 - >导航控制器 - >场景
SWRevealViewController *revealViewController = self.revealViewController;
if ( revealViewController )
{
[self.sidebarButton setTarget: self.revealViewController];
[self.sidebarButton setAction: @selector( revealToggle: )];
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
}
此代码位于每个场景的viewDidLoad方法中,导入SWRevealViewController.h并声明菜单按钮。
按下菜单按钮时没有任何反应。
我已经讨论过这个问题好几天了,我确信它一定很简单,真的很感激。
答案 0 :(得分:2)
我认为你忘了侧面菜单segue的sw_rear。这两个截图可以帮助你
用于tabbar segue的sw_front和SWRevealViewControllerSegueSetController
用于侧边栏视图控制器segue的sw_rear和SWRevealViewControllerSegueSetController
最后这是一个带有SWRevealViewController的tabbar示例,我确实看过这个截图。
答案 1 :(得分:0)
您可以使用以下代码片段,也可以使用UITabBarController作为根视图
UITabBarController *tab = [storyboard instantiateViewControllerWithIdentifier:@"Controller"];
[self.revealViewController setFrontViewController:tab];
[self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
答案 2 :(得分:0)
let objSideBarVC = SideBarVC(nibName: "SideBarVC", bundle: nil)
let navSidebar = UINavigationController(rootViewController: objSideBarVC)
navSidebar.navigationBar.isHidden = true
let objDashboardVC = DashboardVC(nibName: "DashboardVC", bundle: nil)
let navDashboard = UINavigationController(rootViewController: objDashboardVC)
navDashboard.navigationBar.isHidden = true
let mainRevealController = SWRevealViewController.init(rearViewController: navSidebar,frontViewController: navDashboard)
AppDelegate().window?.rootViewController = mainRevealController
mainRevealController.pushFrontViewController(TabBarController, animated: true)