[英]show a login screen before Tab bar controller?
我正在設計一個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];
}
這樣一來,標簽欄控制器便會最初顯示在登錄屏幕的底部,並且也無法在標簽欄項目之間切換。
您可以執行以下操作。
啟動Tabbar作為主屏幕,然后在加載或顯示視圖之前顯示登錄屏幕,並在成功登錄后關閉登錄屏幕。
編輯:對於代碼示例請參閱由Maulik提供的代碼
嘗試執行以下操作:
[window makeKeyAndVisible];
LoginView * loginView = [[LoginView alloc] initWithNibName:@“ LoginView”捆綁包:無];
[window addSubview:loginView.view];
您將要首先顯示登錄信息。 登錄完成后,您應該向您的應用程序代理發送一條消息,以便他可以在您的登錄視圖和tabBarController之間切換:
-(void)loginFinished{
window.rootViewController=tabBarController;
}
我建議您:
1-為您的LoginViewController和UITabBarViewController使用IBOutlets,因此可以輕松使用它們。
2-使用通知,以便您的應用程序代表知道何時切換控制器。
假設通過子類化UITabBarController
擁有TabBarController
類。
您也可以在“登錄”視圖完成其工作后,按下標簽欄控制器。
在Login.m文件中
- (void) doLogin
{
if(login)
{
TabBarController *aTabBarController = [[TabBarController alloc] initWithNibName:@"TabBarController" bundle:nil];
[self.navigationController pushViewController:aTabBarController animated:YES];
[aTabBarController release];
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.