在我的情节提要中,我具有带有三个tableview控制器的选项卡栏控制器,每个控制器都包装在单独的导航控制器中,并钩接到选项卡视图控制器上。 最初运行代码时,选项卡栏显示所有选项卡,但视图控制器显示为黑色。按下选项卡后,将显示相应的控制器,但是包括我按下的选项卡在内的所有选项卡都消失了。如果我继续按下带有标签大致位置的标签栏,则每个控制器都会出现。但是选项卡栏为空。我尝试将tabbar isHidden设置为false,但是没有运气。 也是为什么控制器第一次显示为黑色。我该如何解决?
代码:
extension ViewTabBarController: UITabBarControllerDelegate {
func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
let myVC1 = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "EVC") as! TableViewController1
myVC.selectedTab = self.selectedTab
let myVC2 = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "PVC") as! TableViewController2
let myVC3= UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "TVC") as! TableViewController3
let controllers = [myVC1, myVC2, myVC3,]
self.viewControllers = controllers.map { UINavigationController(rootViewController: $0)}
}
}
class ViewTabBarController: UITabBarController {
var selectedTab:Int = 0
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = sell
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.tabBarController?.tabBar.isHidden = false
}
override func tabBar(_ tabBar: UITabBar, didSelect item: UITabBarItem) {
self.selectedTab = (tabBar.items?.index(of: item))!
print (self.selectedTab)
}