2011-09-09 4 views
0

내 AppDelegate는 사용자가 로그인했는지 여부에 따라 (OAuth를 사용하여)로드 할 컨트롤러를 결정합니다. 사용자가 로그 아웃 처음 또는 후 응용 프로그램을 열 때 최상의 컨트롤러 변경 방법

그래서 나는이

.... 
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; 

이, 그/그녀는 AuthenticationViewController로 리디렉션됩니다.

인증 절차가 완료 되었기 때문에 사용자가 앱을 종료하고 다시 열면 기본보기 컨트롤러 (UITabBarController)가 표시됩니다.

이러한 컨트롤러간에 실시간으로 변경하는 가장 좋은 방법은 무엇입니까?

답변

0

내가 평소에 이런 일을하는 것은 UINavigationController (상단에 navbar가 없도록 설정)와 다른 UIViewController (아마도 UINavigationController의 rootViewController로 설정된 UITabbarController가있는 UIViewController)를 만드는 것입니다. 그런 다음 viewDidLoad 또는 viewWillAppear에서 로그인 논리를 수행하고 결과에 따라 정확한 UIViewController를 애니메이션없이 팝업합니다.

관련 문제