簡體   English   中英

在標簽欄控制器之前顯示登錄屏幕?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM