标签栏视图控制器为黑色,并且在按下时标签会消失

时间:2019-01-11 07:09:59

标签: swift3 uitabbarcontroller

在我的情节提要中,我具有带有三个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)

    }

1 个答案:

答案 0 :(得分:0)

尝试此操作可能会对您有所帮助。

您的故事板是否采用这种方式? enter image description here

如果是,则tabController可以用作初始viewController。 像enter image description here