Сначала вам нужно будет сбросить иерархию примерно так:
UITabBarController (BASE)
|
|___ UINavigationController
|
|___ UITableViewController (PRODUCTS)
|
|___ UIViewController (PRODUCT DETAILS)
Вам нужно добавить UINavigationController в TabBarController, затем вы будете использовать его, чтобы выдвинуть детали продукта.
чтобы добавить UINavigation на TabBarController:
UITabBarController *tabBarController = [[UITabBarController alloc] init];
UINavigationController *tableNavController_1 = [[[UINavigationController alloc] initWithRootViewController:YourProductViewController_1] autorelease];
UINavigationController *table2NavController_2 = [[[UINavigationController alloc] initWithRootViewController:YourProductViewController_2] autorelease];
tabBarController.viewControllers = [NSArray arrayWithObjects:tableNavController_1, table2NavController_2, nil];
//then add the controller to view like,
// this:
[window addSubview:tabBarController.view];
[window makeKeyAndVisible];
//or this:
[self.view addSubview:tabBarController.view];
Я рекомендую вам создать новый UITableViewController для каждого ProductViewController , а затем использовать метод делегата: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
для отображения подробного представления.:
DetailViewController *detailViewController = [[DetailViewController alloc] initWithNibName:@"Nib name" bundle:nil];
// Pass the selected object to the new view controller.
[self.navigationController pushViewController:detailViewController animated:YES]
[detailViewController release];