Показать экран входа перед контроллером панели вкладок?
Я разрабатываю приложение для 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];
}
}