【问题标题】:How to embed in Navigation Controller to a tabbar controller如何将导航控制器嵌入到标签栏控制器
【发布时间】:2016-06-17 10:25:13
【问题描述】:

我的初始视图控制器是一个标签栏控制器。我想让标签栏位于顶部的底部(我已经使用 self.tabBarController?.tabBar.frame 完成了)。我想让导航栏出现在标签栏上方。任何人都可以请我这样做

【问题讨论】:

  • 我不确定这是不是个好主意。因为我们都希望它在底部。
  • 我建议,不要那样做。在导航栏下方创建自己的栏(添加为导航栏的子视图)。

标签: ios swift navigationbar tabbar


【解决方案1】:

UITabBar 应始终位于屏幕底部。 有类似于 android 选项卡的第三方实现,可能是您正在寻找的。​​p>

https://github.com/HighBay/PageMenu 为例。

【讨论】:

    【解决方案2】:

    您可以使用这些代码之一来实例化您的视图控制器

    let VC1 = self.storyboard?.instantiateViewControllerWithIdentifier("storyboardID") as! DemoViewController
    

    let VC2 = YourViewController() 
    

    如果您的视图控制器在接口 bulider 中定义,则使用第一个 else ,使用第二个。

    现在为 tabBarController 构造视图数组,我将 NavigationController 作为元素,rootViewController 是我实例化的 VC。

    let tab1 = UINavigationController(rootViewController: VC1)
    
    let tab2 = UINavigationController(rootViewController: VC2)
    

    这样描述 tabBarItem 图像

    tab1.tabBarItem = UITabBarItem(title: nil, image: UIImage(named: "unselectedImage")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal), selectedImage: UIImage(named: "selectedImage")?.imageWithRenderingMode(UIImageRenderingMode.AlwaysOriginal)) 
    

    最后描述一下tabBar数组

    self.viewControllers = [tab1,tab2]  //This will create tabBar with 2 tabs
    

    您的导航控制器将显示在顶部。您可以自定义导航栏。为此,请参阅this

    另外不要忘记将您的 tabBarController 设置为 AppDelegate 中的 rootViewController。否则,您将违反 Apple 准则。

    希望这会有所帮助。 :)

    【讨论】:

      【解决方案3】:

      我的建议是制作 viewcontroller 并使用 UISegmentController 来执行导航栏下方的标签栏操作..

      谢谢

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多