2017-08-03 24 views
0

我想它可以被複制,但我到處尋找,並沒有找到我的解決方案。從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 
    } 
} 

如果用戶存在,導致我的標籤欄控制器中的第一個視圖控制器。在那裏我有導航按鈕與行動註銷。 我需要註銷(發送數據到服務器),然後轉到我的第一個視圖控制器與文本字段和按鈕,我可以再次登錄。

我如何需要實現它?

+0

任何問題,使用上面的代碼面對? – KKRocks

回答

0

嘗試後logout-

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 
} 

希望它可以幫助這個代碼!

+0

我認爲它只是說哪一個控制器應該是首字母縮寫,但不能打開它。 –

+0

是的,我試過了。我相信它留在UITabBarController中,因爲它顯示來自UITabBarController的viewWillAppear的打印 –

+0

我的不好。它有效,它只是我,虛擬。我忘了從AppDelegate切換到func。我試圖不僅連接到UITabBarController,而是連接到UINavigationController並查看發生了什麼。 謝謝你的回答。 –

0

將此代碼用於註銷按鈕的功能。它會讓你回到根控制器。

func logoutBtnClicked() 
{ 
    DispatchQueue.main.sync() 
    { 
    (send your data to server) 

    self.navigationController?.popToRootViewController(animated: true) 
    } 
} 
0

在嘗試這個的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 
    } 
+0

這是什麼意思「Constant.StoryBoard ...」? –

+0

抱歉,我忘記提及它是故事板對象。 – KKRocks

+0

@Ahishek Jain給出了答案。 您的代碼也能正常工作,但在返回到初始視圖控制器後,我按下按鈕什麼也沒有發生。我的代碼如下所示: '@IBAction func transferData(_ sender:Any){0} {0} {0}讓myVC = self.storyboard?.instantiateViewController(withIdentifier:「TabBarController」)as! TabBarController myVC.textInputTB = textField.text! self.navigationController?.pushViewController(myVC,animated:true) }' –

相關問題