この機能を使用する前に、ユーザーにログインまたはサインアップのいずれかを要求するiOSアプリを開発しています。流れは; アプリは2つのボタンを備えた画面を表示します1)ログイン2)サインアップいずれかのボタンをクリックすると、アプリはUiNavigationControllerを使用してユーザーを別のビューコントローラーにナビゲートします。ログインに成功すると、ユーザーは、ビューの下部にタブバーを表示し、ビューの上部にUiNavigationControllerのトップバーを表示するホームビューコントローラーに移動します。
これを実装するために、AppDelegateファイルのルートビューコントローラーとしてUINavigationViewControllerを設定しました。
ユーザーが認証されるとすぐに、次のコードを使用してUiNavigationControllerのタブバーコントローラーをプッシュします。
FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstViewController" bundle:nil];
[firstViewController setTabBarItem:[[UITabBarItem alloc] initWithTitle:@"1st" image:[UIImage imageNamed:@"1st.png"] tag:101]];
SecondViewController *secondViewController = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
[secondViewController setTabBarItem:[[UITabBarItem alloc] initWithTitle:@"2nd" image:[UIImage imageNamed:@"2nd.png"] tag:102]];
ThirdViewController *thirdViewController = [[ThirdViewController alloc]initWithNibName:@"ThirdViewController" bundle:nil];
[thirdViewController setTabBarItem:[[UITabBarItem alloc] initWithTitle:@"3rd" image:[UIImage imageNamed:@"3rd.png"] tag:104]];
UITabBarController *tabController = [[UITabBarController alloc] init];
[tabController setViewControllers:[NSArray arrayWithObjects:firstViewController, secondViewController,thirdViewController, nil]];
[self.navigationController pushViewController:tabController animated:YES];
これは正しいアプローチですか?ルートビューコントローラーとしてタブバーコントローラーを使用する方が良いアプローチだと誰かが言った。ログイン/サインアップ画面にタブバーを表示したくないので、どうすればタブバーコントローラーをルートビューコントローラーとして設定できますか?
ありがとうございました!