In AppDelegate.mナビゲーションバーのコードを次のように記述しています。tabBarコントローラにプログラム的にnaviagationControllerを追加する方法は?
MaterialsListViewController *materials = [[MaterialsListViewController alloc]initWithNibName:@"MaterialsListView" bundle:nil];
UINavigationController *navigation = [[UINavigationController alloc]initWithRootViewController:materials];
同じAppDelegate.mでは、タブバー用のコードを記述しています。
UIViewController *viewController1, *viewController2;
viewController1 = [[[MaterialsListViewController alloc] initWithNibName:@"MaterialsList" bundle:nil] autorelease];
viewController2 = [[[RecentMaterialsListViewController alloc] initWithNibName:@"RecentMaterialsList" bundle:nil] autorelease];
self.tabBarController = [[[UITabBarController alloc] init] autorelease];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:viewController1, viewController2, nil];
NSArray *items = self.tabBarController.tabBar.items;
UITabBarItem *item1 = [items objectAtIndex:0];
[item1 setTitle:@"Materials"];
UITabBarItem *item2 = [items objectAtIndex:1];
[item2 setTitle:@"Recent"];
self.window.rootViewController = self.tabBarController;
タブバーにNavigationBarを追加するにはどうすればよいですか?
@Fred:Hey Fredはコードを正しく見ます。私はUINAvigationCOntrollerが不足していません。そして、私はself.tabBarController.viewControllers = [NSArray arrayWithObjects:navigationController_01、navigationController_02、nil];を試しました。 – Shreedhar
はい、ただし、tabControllerをtabBarControllerに追加した場合、UINavigationControllerを追加する必要があります。 あなたはそれが欠けています: 'selfArray arrayWithObjects:viewController1、viewController2、nil];' 'MaterialsListViewController'と' RecentMaterialsListViewController'を追加しています。おそらくUIViewControllersです。 – Frade
'MaterialsListViewController'を最初に作成し、' MaterialsListViewController'が 'UINavigationController'を初期化し、' UINavigationController'を ' tabBarController' viewControllers配列、 'MaterialsListViewController'ではありません.. それを取得する?? – Frade