2011-09-09 13 views
0

私のAppDelegateは、ユーザーがログインしているかどうかに応じて(OAuthを使用して)読み込むコントローラを決定します。コントローラを変更するための最善のアプローチ

ユーザーが初めてかをログアウト後にアプリケーションを開くとだから私は、彼/彼女はAuthenticationViewControllerにこの

.... 
if ([auth isValid] == NO){ 
    // open the authentication screen 
    AuthenticationViewController *controller = [[AuthenticationViewController alloc]init]; 
    self.window.rootViewController = controller; 
    [controller release]; 
}else{ 
    // open the default view controller 
    self.window.rootViewController = self.viewController; 
} 

[self.window makeKeyAndVisible]; 
return YES; 

リダイレクトされますしています。

認証手続きが完了したため、ユーザーがアプリケーションを終了して再度開くと、デフォルトのView Controller(UITabBarController)が表示されます。

これらのコントローラをリアルタイムで切り替えるには、どのような方法が最適ですか?

答えて

0

通常、これらの状況では、UINavigationController(上にナビゲーションバーがないように設定)と別のUIViewController(UINavigationControllerのrootViewControllerとして設定されているUITabbarControllerを持つもの)を作成します。その後、viewDidLoadまたはviewWillAppearでは、ログインロジックを行い、結果に応じて、正しいUIViewControllerをアニメーションなしでプッシュまたはポップします。

関連する問題