从 UITabBarController 中解雇
Dissmiss from UITabBarController
我想它可以重复,但我到处寻找并没有找到适合我的解决方案。
关于我的问题。我有这样的东西
open this image to see more
在我的 AppDelegate 中我有 func
func logIn() {
let userExist = UserDefaults.standard.string(forKey: "auth_key_user")
if userExist != nil && userExist != "" {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let whereToGo = storyboard.instantiateViewController(withIdentifier: "AllPostsOfUserTabBarController") as! AllPostsOfUserTabBarController
window?.rootViewController = whereToGo
}
}
如果用户存在,它会引导我到选项卡栏控制器内的第一个视图控制器。那里有导航按钮和注销操作。
我需要注销(将数据发送到服务器),然后转到我的第一个带有文本字段和按钮的视图控制器,在那里我可以再次登录。
我需要如何实施它?
注销后尝试此代码-
DispatchQueue.main.sync() {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let loginVC = storyboard.instantiateInitialViewController()
appDelegate.window?.rootViewController = loginVC
}
希望对您有所帮助!
将此代码用于您的注销按钮。它会让你回到你的根控制器。
func logoutBtnClicked()
{
DispatchQueue.main.sync()
{
(send your data to server)
self.navigationController?.popToRootViewController(animated: true)
}
}
在 appdelegate 中试试这个
登录时
self.window?.rootViewController = whereToGo
注销时
func setupLoginViewController() {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let loginVC: UIViewController? = storyboard.instantiateViewController(withIdentifier: "loginVCID") as? UIViewController
let navController: UINavigationController? = UINavigationController(rootViewController: loginVC!) as UINavigationController
window?.rootViewController = navController
}
我想它可以重复,但我到处寻找并没有找到适合我的解决方案。
关于我的问题。我有这样的东西 open this image to see more
在我的 AppDelegate 中我有 func
func logIn() {
let userExist = UserDefaults.standard.string(forKey: "auth_key_user")
if userExist != nil && userExist != "" {
let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let whereToGo = storyboard.instantiateViewController(withIdentifier: "AllPostsOfUserTabBarController") as! AllPostsOfUserTabBarController
window?.rootViewController = whereToGo
}
}
如果用户存在,它会引导我到选项卡栏控制器内的第一个视图控制器。那里有导航按钮和注销操作。 我需要注销(将数据发送到服务器),然后转到我的第一个带有文本字段和按钮的视图控制器,在那里我可以再次登录。
我需要如何实施它?
注销后尝试此代码-
DispatchQueue.main.sync() {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let loginVC = storyboard.instantiateInitialViewController()
appDelegate.window?.rootViewController = loginVC
}
希望对您有所帮助!
将此代码用于您的注销按钮。它会让你回到你的根控制器。
func logoutBtnClicked()
{
DispatchQueue.main.sync()
{
(send your data to server)
self.navigationController?.popToRootViewController(animated: true)
}
}
在 appdelegate 中试试这个
登录时
self.window?.rootViewController = whereToGo
注销时
func setupLoginViewController() {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let loginVC: UIViewController? = storyboard.instantiateViewController(withIdentifier: "loginVCID") as? UIViewController
let navController: UINavigationController? = UINavigationController(rootViewController: loginVC!) as UINavigationController
window?.rootViewController = navController
}