详细介绍 SWRevealViewController 和 Tab Bar Controller
SWRevealViewController and Tab Bar Controller in detail
这个问题之前有人问过,也有人回答过,我的问题不是唯一的,但肯定有一些遗漏,因为 none 我试过的结构是有效的。我只是想在标签栏控制器的每个场景中实现 SWRevealViewController "menu" 按钮。
这是当前设置:
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被引入,声明了菜单按钮。
按下菜单按钮时没有任何反应。
我已经研究这个问题好几天了,我相信它一定很简单,如果能提供帮助,我们将不胜感激。
我想你忘记了 sw_rear 侧边菜单 segue 。这 2 个屏幕截图可以帮助您
sw_front 和 SWRevealViewControllerSegueSetController 用于 tabbar segue
sw_rear 和侧边栏的 SWRevealViewControllerSegueSetController viewcontroller segue
最后这是带有 SWRevealViewController 的标签栏示例,我确实看过这张截图。
你可以使用下面的代码片段或者你可以使用 UITabBarController 作为根视图
UITabBarController *tab = [storyboard instantiateViewControllerWithIdentifier:@"Controller"];
[self.revealViewController setFrontViewController:tab];
[self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
SWRevealViewController 与 TabBarController 在 Swift 4
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)
这个问题之前有人问过,也有人回答过,我的问题不是唯一的,但肯定有一些遗漏,因为 none 我试过的结构是有效的。我只是想在标签栏控制器的每个场景中实现 SWRevealViewController "menu" 按钮。
这是当前设置:
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被引入,声明了菜单按钮。
按下菜单按钮时没有任何反应。
我已经研究这个问题好几天了,我相信它一定很简单,如果能提供帮助,我们将不胜感激。
我想你忘记了 sw_rear 侧边菜单 segue 。这 2 个屏幕截图可以帮助您
sw_front 和 SWRevealViewControllerSegueSetController 用于 tabbar segue
sw_rear 和侧边栏的 SWRevealViewControllerSegueSetController viewcontroller segue
最后这是带有 SWRevealViewController 的标签栏示例,我确实看过这张截图。
你可以使用下面的代码片段或者你可以使用 UITabBarController 作为根视图
UITabBarController *tab = [storyboard instantiateViewControllerWithIdentifier:@"Controller"];
[self.revealViewController setFrontViewController:tab];
[self.revealViewController setFrontViewPosition: FrontViewPositionLeft animated: YES];
SWRevealViewController 与 TabBarController 在 Swift 4
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)