Как изменить RootViewController (в AppDelegate) из CustomViewController? - PullRequest
3 голосов
/ 13 июля 2011

Добрый день,

Мое приложение имеет форму авторизации (SigninController), которая загружается в AppDelegate, и после входа в систему (проверка выполняется в SigninController.m) должен появиться TabBarController (как основной вид приложения).

Как я могу изменить контроллер с Signin на TabBar и где ??

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  {  
SigninController *aSigninController = [[SigninController alloc] initWithNibName:@"SigninView" bundle:nil];
self.currentController = aSigninController;
[aSigninController release];

self.window.rootViewController = self.currentController;
[self.window makeKeyAndVisible];
return YES;
}

SigninController.m

- (IBAction)signinClick
{
........
if (loginOK == YES)
{        
      //This place is ready to send messages to show TabBar
} else {
    UIAlertView *alert = ......
    [alert show];
    [alert release];
}    
}

1 Ответ

8 голосов
/ 13 июля 2011
[appDelegate.window addSubview:appDelegate.tabbarController.view];

[self.view removeFromSuperview];

appDelegate - общий делегат приложения.

MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
...