1

私は自分のプロジェクトを通してナビゲーションコントローラが必要で、私のアプリケーションには最初にソーシャルログインがあります。認証が確認されると、ユーザーは別のビューにプッシュされ、2つのタブを持つタブバーコントローラーが表示されます。スウィフトプログラミングでナビゲーションベースのテンプレート機能を取得する方法

私はSwiftプログラミングでこれを行う方法がわかりません。 ViewControllerをNavigation Controllerに埋め込みました。認証が成功すると、ここからユーザーをタブバービューにプッシュするにはどうすればいいですか? Tabbarにもナビゲーションが必要です。

+0

これを確認してくださいhttp://stackoverflow.com/questions/576764/tab-bar-controller-inside-a-navigation-controller-or-sharing-a-navigation-root – pedrouan

+0

@Dee - 私のソリューションを試しましたか? ? –

+0

いいえ、私はそのコンセプトを理解しました。ありがとうございました。 – Dee

答えて

3

以下の例で私が通常行うことにアイデアを再現したいと思います。ログイン/サインアップし、タブバーがセグエのいずれかの種類に接続されていない見ることができるように

enter image description here

これは私のストーリーボードがどのように見えるかです。

ここでログインコントローラは、初期コントローラの設定です。

割り当てこのナビゲーションコントローラストーリーボードID(例えばLoginNavigation):

Login NavigationController

は、ストーリーボードID(例えばHomeTabBar

TabBarController

を割り当て、タブバーコントローラと同じ操作を行います

今、アプリのRoot View Controllerをシャッフルするだけですトゥイーンログインナビとタブバー。ユーザーが正常にログインしている場合

だから、次のコードを使用してHomeTabBarに、アプリケーションのルートビューを変更します。

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let home: UITabBarController = storyboard.instantiateViewControllerWithIdentifier("HomeTabBar") as! UITabBarController 
appDelegate.window?.rootViewController = home 

、ユーザーが当社にログインしたときに、再びログインナビゲーションにルート表示を変更:

let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
let entryPoint:UIViewController = mainStoryboard.instantiateViewControllerWithIdentifier("LoginNavigation") 
appDelegate.window?.rootViewController = entryPoint 

appDelegateは私のconstants.swiftファイルに定義されています。

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate 
関連する問題