2016-07-06 33 views
0

標籤欄消失在選項卡中,我想檢查用戶是否登錄。如果用戶登錄,我想顯示帳戶視圖,如果用戶沒有登錄,我想顯示登錄視圖。與此代碼的工作,但表格欄消失。我該如何解決這個問題,還是有更好的方法來做到這一點?當changin Segue

override func viewDidAppear(animated: Bool) { 
     if let email = userDefaults.valueForKey("token") { //User logged in 
      self.performSegueWithIdentifier("AccountSegue", sender: self) 
      print("Logged In") 
     } 
     else {  //User not logged in 
      self.performSegueWithIdentifier("loginSegue", sender: self) 
      print("Not Logged In") 
     } 


    } 
+0

您是否在首次打開應用程序時檢查用戶是否已登錄? –

回答

0

我最近有這個問題,你必須使用「解開Segue的」,不允許標籤欄控制器消失。但是,我聽說其他人只需取消其「故事板」文件屬性檢查器中的「隱藏選項卡欄」選項。

0

如果你有UITabBarController,你需要做這樣的

self.selectedIndex = 2 
+0

我相信這是正確的答案。當在UITabController的ViewControllers之間移動時,你不會在它們之間延續,而只是說出你想看哪一個。所以當你執行一個segue時,你會在你的UITabBarViewController之上推一個新的ViewController。所以TabBar實際上並沒有消失。所有你需要做的就是設置selectedIndex,如上所述。 – ClockWise

0

你在故事板申報什麼樣的賽格瑞?如果TabBar消失,您可能會將LoginVC作爲模式打開,而不是將視圖推入活動選項卡NavigationController。

無論如何,爲什麼你會讓用戶瀏覽標籤,如果它還沒有登錄?請更好地解釋您的案例,以便我們爲您提供更好的方法。

+0

這是一個表演塞格。 在第一個選項卡中有一些消息,用戶不必登錄即可看到它。在第二個選項卡中,用戶可以登錄並訪問他的帳戶。 – user567

+0

你有沒有嘗試手動推動ViewControllers而不是使用segues? (並且當然刪除調度員視圖) –