Где вы хотите навигационный контроллер (ы)? Вы должны создать одну для каждой вкладки, которую хотите, в UITabBarController.
Вы добавляете навигационный контроллер вместе с первым контроллером представления в его стеке. Попробуйте это:
// create the controllers for UITabBarController
tableViewController *vc1 = [[[TableViewController alloc] init] autorelease];
navController *nav1 = [[[UINavigationController alloc] initWithRootViewController:vc1] autorelease];
tableViewController *vc2 = [[[TableViewController alloc] init] autorelease];
navController *nav2 = [[[UINavigationController alloc] initWithRootViewController:vc2] autorelease];
// put them in an array
NSArray *controllers = [NSArray arrayWithObjects:nav1, nav2, nil];
// rest of your code
Также обратите внимание, что вам нужно освободить все, что вы выделяете или сохраняете. Вы можете сделать это, как я, добавив autorelease
при их инициализации, или вы можете освободить их явно после добавления их в массив controllers
.
Затем вы настраиваете navigationItem
для каждого контроллера представления в его методе loadView
или viewDidLoad
в зависимости от того, как вы его реализовали.