我已经实现了 Firebase 登录,并且想要使用功能显示我的主页,我的问题是,当显示主页时,它不会显示选项卡栏,当将选项卡栏显示为初始 VC 时,它显示空白,但是当我在设置中将选项卡栏 Controller 设置为初始 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中TabController
的Class
属性,并将其设置为根状态直接使用UIViewController
。引用下面的代码片段:
let tabViewController =
storyboard?.instantiateViewController(withIdentifier: "TabController") as? TabController
view.window?.rootViewController = tabViewController
view.window?.makeKeyAndVisible()
它将按预期工作!!
关于ios - 登录后主页上不显示选项卡栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60340217/