1

創建UINavigationController的我有基礎的的UITabBarController的應用程序,並且裏面的其中一個選項卡我有的UITableViewController顯示「產品」,到這裏一切都可以正常使用。在裏面的UITableViewController的UITabBarController

現在我想點擊的UITableViewController中的單元打開的UINavigationController之一時顯示的UIViewController與該產品的詳細信息。

我認爲應用程序層次結構應該是這樣的:

UITabBarController (BASE) Level-1 
    | 
    |___ UITableViewController (PRODUCTS) Level-2 
     | 
     |___ UINavigationController Level-3 
       | 
       |___ UIViewController (PRODUCT DETAILS) Level-4 

如何實現3級和4級?

在此先感謝:)

回答

0
+0

感謝您的幫助@Legolas,本教程使用Xcode3完成,其中一些步驟不存在於我正在使用的Xcode4中!你可以請引導我什麼添加使我的UITableViewController單元可點擊加載使用UINavigationController的細節UIViewController? – DeZigny

5

首先,您需要在您的層次結構恢復到這樣的事情:

UITabBarController (BASE) 
    | 
    |___ UINavigationController 
     | 
     |___ UITableViewController (PRODUCTS) 
     | 
     |___ UIViewController (PRODUCT DETAILS) 

您需要在TabBarController添加一個UINavigationController,那麼你會用它來推動產品的詳細信息。

上添加TabBarController一個UINavigation:

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]; 
+0

我真的很感謝你的詳細回覆,但對於我來說重新設計應用程序太困難了,因爲我還是個新手。如果有方法將導航添加到我的表格,我真的很喜歡。 – DeZigny

+0

有一個UITableViewController白色導航,你需要一個UINavigationController。在您的具體情況下,您必須在TabBarController「內部」添加一個UINavigationController,並在UINavigationController中添加一個「內部」表。 正如我在 – Frade

+0

之前所解釋的,第一個圖表顯示了層次結構 - 將導航控制器放置在選項卡控制器並且初始表格視圖讓我對seque的「細節」視圖起作用! – marc

相關問題