如何将导航控制器嵌入到标签栏控制器
Posted
技术标签:
【中文标题】如何将导航控制器嵌入到标签栏控制器【英文标题】:How to embed in Navigation Controller to a tabbar controller 【发布时间】:2016-06-17 10:25:13 【问题描述】:我的初始视图控制器是一个标签栏控制器。我想让标签栏位于顶部的底部(我已经使用 self.tabBarController?.tabBar.frame 完成了)。我想让导航栏出现在标签栏上方。任何人都可以请我这样做
【问题讨论】:
我不确定这是不是个好主意。因为我们都希望它在底部。 我建议,不要那样做。在导航栏下方创建自己的栏(添加为导航栏的子视图)。 【参考方案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 来执行导航栏下方的标签栏操作..
谢谢
【讨论】:
以上是关于如何将导航控制器嵌入到标签栏控制器的主要内容,如果未能解决你的问题,请参考以下文章