【问题标题】:How to have TabBarController at the bottom itself on selecting menu Item from the side menu?如何在从侧面菜单中选择菜单项时将 TabBarController 置于底部?
【发布时间】:2018-03-02 19:26:17
【问题描述】:

我正在使用 SWRevealController 有一个侧边菜单。在我的应用程序中,它也有 UITabBarcontroller。 我的连接格式为 SWRevealViewController--->UItabbarController--->NavigationController--->UITabbartemPage-->Another vc

PLEASE CLICK ON THE IMAGE TO SEE IN CORRECT ORIENTATION

上面的显示是我正在使用的布局。我想在几乎所有从 tabbarcontroller 显示的 vc 中都有那个汉堡按钮(菜单按钮)。目前,当我点击按钮时,我正在获取侧面菜单(图像在右侧显示为 spereate)。在选择菜单时,它会显示所需的 vc,但底部标签栏不存在。我想在整个页面中都有底部标签栏,也可以在侧面菜单的页面中。

我怎样才能做到这一点?请帮帮我。

我在 didSelectRowAtIndexPath 中使用的代码是:

if indexPath.row == 1{
let destinationVc = self.storyboard?.instantiateViewController(withIdentifier: "Home")
let newFrontVc = UINavigationController.init(rootViewController:destinationVc!)
revealViewController.pushFrontViewController(newFrontVc, animated: true)

}

【问题讨论】:

    标签: ios swift swrevealviewcontroller tabbarcontroller


    【解决方案1】:

    如果使用标签栏控制器,我认为您实际上不需要推送视图控制器。

    let tabBarController = self.storyboard?.instantiateViewController(withIdentifier: "TabBarController")
    tabBarController.selectedIndex = 1
    revealViewController.pushFrontViewController(tabBarController, animated: true)
    

    您必须在Main.storyboard 中将标签栏控制器的标识符设置为TabBarController 才能正常工作。

    【讨论】:

    • 没有老板。谢谢你的帮助
    【解决方案2】:

    我也有和你一样的布局,只有少数视图控制器被添加到标签栏,它会在所有视图控制器中显示标签栏

    【讨论】:

    • 但在这我面临的问题是,当您通过侧视图控制器时,侧视图控制器内的条形按钮变为蓝色并将整个应用程序后退按钮颜色更改为蓝色
    • 老兄。我也在 trapp.i 中,一旦我修复它会通知 :)
    • 我修复了更改@Buddy 的后退按钮颜色
    • 我从头开始重建一切...github.com/John-Lluch/SWRevealViewController/issues/289 ...现在我得到了我需要的东西。请参考兄弟。
    【解决方案3】:

    SWRevealViewController 和 TabBarController 在 Swift 4 中使用 XIB

    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)
    

    【讨论】:

      猜你喜欢
      • 2018-09-28
      • 1970-01-01
      • 2019-01-25
      • 2017-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多