ios - 登录后主页上不显示选项卡栏

标签 ios swift uikit

我已经实现了 Firebase 登录,并且想要使用功能显示我的主页,我的问题是,当显示主页时,它不会显示选项卡栏,当将选项卡栏显示为初始 VC 时,它显示空白,但是当我在设置中将选项卡栏 Controller 设置为初始 VC,它将显示选项卡栏但绕过登录,如何让我的主页在我的函数中显示选项卡栏?

Full Storyboard

display home view with no tab bar

When using the tab view as inital VC

          @IBAction func LoginButtonTapped(_ sender: Any) {

            // validate feilds still to impliment


                //if all feilds valid do below
                let email = EmailFeild.text!.trimmingCharacters(in: .whitespacesAndNewlines)
                let password = PasswordFeild.text!.trimmingCharacters(in: .whitespacesAndNewlines)

                // sign in user
                Auth.auth().signIn(withEmail: email, password: password) { (result, error) in
                    if error != nil{
                        // sign in error
                        self.ErrorMsg.text = error!.localizedDescription
                        self.ErrorMsg.alpha = 1
                    }else{
                        // go to home screen
                        self.transitionHome()
                    }
                }
        }

        func transitionHome(){   
            let homeViewController =
            storyboard?.instantiateViewController(identifier: Constants.Storyboards.homeViewContrl) as? HomeViewController
            view.window?.rootViewController = homeViewController
            view.window?.makeKeyAndVisible()

我尝试将选项卡栏设置为根 VC 会导致黑屏,但是当我将其设置为初始 VC 并双向登录时,主页 View 会显示选项卡栏

// let tabViewController =
// storyboard?.instantiateViewController(identifier: Constants.Storyboards.homeNav) as? 
        //MainTabBarController 
        //view.window?.rootViewController = tabViewController
        //view.window?.makeKeyAndVisible()
        } 
    }

最佳答案

您只需在其间添加UITabBarController,将其分配给 Storyboard中TabControllerClass属性,并将其设置为根状态直接使用UIViewController。引用下面的代码片段:

let tabViewController =
storyboard?.instantiateViewController(withIdentifier: "TabController") as? TabController
view.window?.rootViewController = tabViewController
view.window?.makeKeyAndVisible()

它将按预期工作!!

关于ios - 登录后主页上不显示选项卡栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60340217/

相关文章:

ios - Swift,CollectionView, fatal error : Index out of range

ios - SDWebImage无法从NSDictionary加载图像

ios - 如何快速访问底 View

ios - 如何在编辑UITableViewCell时删除删除按钮?

ios - 弹出到 Root View Controller , TableView 没有动画崩溃

ios - 如何在中心点旋转 CAShapeLayer

ios - 如何在 iphone sdk objective c 中编辑本地通知

ios - 核心数据获取请求错误

json - 无法将 NSNumber 桥接到 Float Swift 3.3

swift - iOS 上带有倾斜文本的 UILabel