Показать экран входа перед контроллером панели вкладок?

Я разрабатываю приложение для iphone, которое сначала должно отображать экран входа в систему, после чего оно должно отображать контроллер панели вкладок с 5 вкладками. Я в состоянии запустить экран входа в систему, но после этого я не могу показать контроллер панели вкладок, пожалуйста, помогите мне с парнями исходного кода. вот мой код: это приложение на основе представления

application.M

 -(void)applicationDidFinishLaunching:(UIApplication *)application {    

    // Override point for customization after app launch 
       [window addSubview:viewController.view]; 
    [window addSubview:tabBarController. view];   
    [window makeKeyAndVisible];
    LoginView *loginView=[[LoginView alloc]initWithNibName:@"LoginView" bundle:nil];
    [window addSubview:loginView.view];
}  

при этом контроллер панели вкладок отображается в нижней части экрана входа в систему. И также не может переключаться между элементами панели вкладок.

3 ответа

Что вы можете сделать, это следующее.

Запустите панель вкладок в качестве основного экрана, а затем перед загрузкой или отображением представления откройте экран входа в систему и закройте экран входа в систему после успешного входа в систему.

РЕДАКТИРОВАТЬ: Для примера кода посмотрите на код, предоставленный Maulik

Попробуйте сделать следующее:

[window makeKeyAndVisible];
LoginView * loginView = [[LoginView alloc] initWithNibName: @ "LoginView" bundle: nil];
[окно addSubview:loginView.view];

Сначала вы захотите показать логин. После завершения входа в систему вы должны отправить сообщение вашему делегату приложения, чтобы он мог переключаться между вашим представлением входа в систему и вашим tabBarController:

-(void)loginFinished{   
    window.rootViewController=tabBarController;
}

Я советую тебе:

1 - Иметь IBOutlets для вашего LoginViewController и UITabBarViewController, чтобы вы могли легко использовать их.

2. Используйте уведомление, чтобы делегат вашего приложения знал, когда переключать контроллеры.

Если у вас есть TabBarController класс по подклассам UITabBarController,

Вы также можете нажать контроллер панели вкладок после того, как представление входа завершит свою работу.

В файле Login.m

- (void) doLogin
{
  if(login)
  {
     TabBarController *aTabBarController = [[TabBarController alloc] initWithNibName:@"TabBarController" bundle:nil];
     [self.navigationController pushViewController:aTabBarController animated:YES];
     [aTabBarController release];    
  }
}
Другие вопросы по тегам