2017-05-19 39 views
1

我有一個主標籤欄控制器3視圖。如何切換標籤頁視圖在退休segue

  1. 主視圖
  2. 歷史記錄查看
  3. 菜單查看

當我的應用程序第一次加載時,標籤欄控制器檢查用戶是否登錄,如果她不是,它塞格斯到登錄視圖。一旦用戶登錄我從登錄查看通話的開卷Segue公司如下:

self.performSegueWithIdentifier("unwindToTabBarFromSignInView", sender: self) 

這使用戶在我的標籤欄控制器功能表視圖的展開Segue公司,因爲這是與註銷按鈕查看,因此最後呈現給用戶的是視圖。但是,我想在用戶登錄後顯示主視圖而不是菜單視圖。爲了完成這個,我在Unwind Segue中有下面的代碼。不幸的是,它似乎沒有效果,用戶一旦登錄而不是主視圖就一直回到菜單視圖。

@IBAction func unwindToTabBarFromSignInView(segue: UIStoryboardSegue) { 
     tabBarController?.selectedIndex = 0 
} 
+0

「tabBarController」無? – Paulw11

+0

不,tabBarController不是零 – Jace

回答

2

很奇怪,這是行不通的。但我有一個更簡單的解決方案。

當展開爲UITabBarController時,每個選項卡的ViewController都可以實施自己的展開@IBAction,您可以直接進入所需的選項卡。

在你MainViewController實現這個:

@IBAction func unwindToMainViewController(_ segue: UIStoryboardSegue) { 
    print("back in MainViewController") 
} 

通過控制的ViewController圖標-dragging到退出圖標創建開卷SEGUE,並給它一個標識符"unwindToMain"。一旦用戶登錄時,只需撥打:

self.performSegueWithIdentifier("unwindToMain", sender: self) 

,你會回到你UITabBarController的主要標籤。

+0

謝謝!當然這就像一個魅力工作!我真的很想轉換標籤,我不敢相信我沒有看到它是多麼容易。 – Jace