2017-07-10 2 views
1

タブビューコントローラからビューコントローラへの接続を試みています。セグーはモーダルに存在します。コードは以下の通りです:タブビューコントローラからの接続

override func viewDidAppear(_ animated: Bool) { 
    if (UserDefaults.standard.bool(forKey: "HasLaunchedOnce")) { 
     print("LAnched B4") 
     performSegue(withIdentifier: "Tutorial", sender: nil) 
    } else { 
     UserDefaults.standard.set(true, forKey: "HasLaunchedOnce") 
     UserDefaults.standard.synchronize() 
     performSegue(withIdentifier: "Tutorial", sender: nil) 
    } 
} 

私がいる問題は、タブバーの最初のビューコントローラが最初に示され、たまたま何のセグエがないことです。セグを優先させる方法はありますか?あなただけのこれらの指標は0から最後に開始されます忘れないでください、あなたのコントローラ

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.identifier == "Tutorial" { 
     print("INSIDE TAB") 
     if let tabVC = segue.destination as? UITabBarController{ 
      if !User().getIsLoggedIn() { 
       print("INSIDE") 
       tabVC.selectedIndex = 2 // Or you can give your viewController index 
      } 
     } 
    } 
} 

で以下の機能を追加する必要があり、あなたのタスクを達成するためのコードの下

+0

TabBarControllerからではなく最初に表示されるviewControllerからsegueを追加します。 –

答えて

1

はいフォロー。あなたの必要条件に応じて、あなたのセグ状態をチェックし、希望のインデックスのセグを準備します。

これはあなたに感謝します!