2016-10-30 13 views
0

私のアプリケーションのログイン画面を作成しましたが、私のAppDelegate.swiftファイルにrootviewコントローラがあります。しかし、私はまた、ストーリーボードを使用してアプリケーションへのエントリポイントとしてTabControllerを作成しました。いくつか考えた後、私は解決策を見つけ出し、これが正しいアプローチかどうかを知りたがっています。私はtabControllerをアプリケーションのrootviewコントローラにします。しかし、tabControllerは、ユーザーがログインしている場合にのみ表示する必要があります。ユーザーがログインしていない場合は、ユーザーがサインインしたりアプリケーションにサインアップできるナビゲーションコントローラーであるログイン画面を呼び出します。サーバーからトークンを受け取り、tabControllerにセグメントします。ユーザーにトークンがある場合、デフォルト画面はログイン画面を呼び出さない場合はタブコントローラーです。自分のアプローチが正しいかどうかを知りたいですか?ログイン画面とTabControllerで適切な方法を教えてください

私のAppdelegate.swiftファイルでは、WelcomeHomeController.swiftというログイン画面をログイン画面として定義しましたが、rootviewcontrollerをデフォルトの画面にしたくありません。また、私はAppDelegate.swiftクラスのrootViewControllerを定義する必要がありますか?

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

     let welcomeHomeController:UIViewController = WelcomeHomeController(nibName: nil, bundle: nil) 
     welcomeHomeController.view.backgroundColor = UIColor.whiteColor() 
     let navController:UINavigationController = UINavigationController(rootViewController: welcomeHomeController) 

     //create window 
     self.window = UIWindow(frame: UIScreen.mainScreen().bounds) 
     self.window?.backgroundColor = UIColor.darkGrayColor() 
     self.window?.rootViewController = navController 
     self.window!.makeKeyAndVisible() 
} 

私はいくつかの助けやこれを達成する方法の例が必要でした。

答えて

0

私はよくこのようにします:RedirectViewControllerを初期ビューコントローラとして作成します。スプラッシュスクリーンとまったく同じUIを持っています。このコントローラーでは、ユーザーに有効かどうかを確認するためにApiに電話し、次にルートビューコントローラーを決定します。WelcomeHomeControllerまたはTabViewController

+0

サンプルコードの例を挙げてください。ログイン後に表示されるページであることを意味するスプラッシュ画面ですか? – user3497437

+0

スプラッシュスクリーンなし= LauchScreen:これは、ユーザーがアプリケーションを開くときに表示されるローディングビューです。 – lee5783

+0

ok – user3497437

関連する問題