2016-07-06 8 views
0

タブで、ユーザーがログインしているかどうかを確認したいユーザーがログインしている場合は、アカウントビューを表示する必要があります。ユーザーがログインしていない場合は、Loginviewを表示します。このコードでは動作しますが、テーブルバーは消えます。それを修正するにはどうすればよいのでしょうか?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

最近この問題が発生しました。タブバーコントローラが消えないようにするには、「Unwind Segue's」を使用する必要があります。しかし、私は、ストーリーボードファイルのAttributes Inspectorにある「Hide Tab Bar」オプションのチェックを外しておかなければならないと聞いています。

0

あなたはUITabBarControllerを持っている場合、あなたはストーリーボード上で宣言したセグエのどのようなこの

self.selectedIndex = 2 
+0

私はこれが正解であると信じています。 UITabControllerのViewControllersの間を移動するときには、それらの間をつなぎ合わせるのではなく、どちらを表示するかを単に指定するだけです。そのため、セグを実行すると、UITabBarViewControllerの上に新しいViewControllerがプッシュされます。したがって、TabBarは実際には消えていません。上で述べたように、selectedIndexを設定するだけです。 – ClockWise

0

のように行う必要がありますか? TabBarが表示されなくなった場合は、アクティブなNavigationControllerにビューをプッシュするのではなく、LoginVCをモーダルとして開きます。

とにかく、まだログインしていないユーザーはタブをナビゲートするのはなぜですか?あなたのケースをよりよく説明して、より良いアプローチを提案してください。

+0

これはショー・セグエです。 最初のタブにはいくつかのニュースがあります。ユーザーはそれを見るためにログインする必要はありません.2番目のタブでは、ログインして自分のアカウントにアクセスできます。 – user567

+0

seguesを使用する代わりに手動でViewControllerをプッシュしようとしましたか? (もちろんディスパッチャビューを削除する) –