注意:我试图将hidesBottomBarWhenPush设置为假,只要有可能...
以下是我在AppDelegate文件中初始化UITabBarController的方法:
func initTabBarController()
{
let myVC1 = MapVC()
let myVC2 = MapVC()
let myVC3 = MapVC()
let myVC4 = MapVC()
let controllers = [myVC1,myVC2,myVC3,myVC4]
self.myTabBarController = UITabBarController()
self.myTabBarController.viewControllers = controllers
myVC1.tabBarItem = UITabBarItem(
title: "Map",
image: image1,
selectedImage: image11)
myVC2.tabBarItem = UITabBarItem(
title: "Map",
image: image2,
selectedImage: image21)
myVC3.tabBarItem = UITabBarItem(
title: "Map",
image: image3,
selectedImage: image31)
myVC4.tabBarItem = UITabBarItem(
title: "Menu",
image: image4,
selectedImage: image41)
self.tabNavigationController = UINavigationController(rootViewController: self.myTabBarController)
self.tabNavigationController.navigationBar.translucent = false
}
现在,这是我设置主窗口的rootViewController的方法:
let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
appDelegate.initTabBarController()
appDelegate.window!.rootViewController =
appDelegate.tabNavigationController
appDelegate.window!.makeKeyAndVisible()
最后,我尝试将新的视图控制器推送到我的一个视图控制器(MapVC)中:
let v = UIViewController()
v.view.backgroundColor = UIColor.yellowColor()
self.tabBarController?.navigationController?.pushViewController(v, animated: true)
执行此代码时,黄色视图显示良好,但底部选项卡栏隐藏。
而且我想仍然有我的标签栏!!
我试图将属性 hidesBottomBarWhenPush 设置为 false 到任何我可以做的对象,但没有成功。
请帮助我!!
问候阿尔克斯
看起来您已将选项卡控制器嵌入到导航控制器中。这可能就是为什么在堆栈上推送新的视图控制器时选项卡被隐藏的原因。而是将每个 tabBarController 的 ViewController 嵌入到它们自己的导航控制器中。