UITabBarController - 需要在选择一个选项卡时显示任一视图控制器,具体取决于特定条件

问题描述

我有一个有 4 个标签的 UITabBarController。我想为第二个标签栏项目显示不同的视图控制器。根据我想显示标签栏项目的视图控制器的条件。

我写了以下代码

UITabbarController -

override func tabBar(_ tabBar: UITabBar,didSelect item: UITabBarItem) {
        if item.tag == 2 {
            if UserDefaults.standard.bool(forKey: "FirstTimeUser") == true {
                //                let vc1 = storyboard?.instantiateViewController(identifier: "CreateNewProjectViewController") as! CreateNewProjectViewController
                //                self.navigationController?.pushViewController(vc1,animated: true)
                
                let vc1 = self.storyboard?.instantiateViewController(withIdentifier: "CreateNewProjectViewController") as! CreateNewProjectViewController
                let window = UIApplication.shared.windows.first
                window?.rootViewController = vc1
                tabBarController?.tabBar.isHidden = false
            }else {
                //                let vc2 = storyboard?.instantiateViewController(identifier: "ProjectsViewController") as! ProjectsViewController
                //                self.navigationController?.pushViewController(vc2,animated: true)
                let vc2 = self.storyboard?.instantiateViewController(withIdentifier: "ProjectsViewController") as! ProjectsViewController
                let window = UIApplication.shared.windows.first
                window?.rootViewController = vc2
                tabBarController?.tabBar.isHidden = false
            }
        }
    }

我尝试使用 navigationController 但它显示空白屏幕。

如果我尝试使用“

”设置视图控制器
let vc2 = self.storyboard?.instantiateViewController(withIdentifier: "ProjectsViewController") as! ProjectsViewController
                    let window = UIApplication.shared.windows.first
                    window?.rootViewController = vc2
                    tabBarController?.tabBar.isHidden = false

”。 它不显示标签栏,请帮助我正确获取它。 谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)