2012-08-09 21 views
0

我主要在iPhone應用上工作。現在我需要構建一個iPad應用程序。因爲我們需要將NavigationController放在iPad的Master Detail View的MasterView中,就像我們在iPhone中的UITableView中一樣。我的意思是當用戶選擇一個特定的行時,它應該用新填充的數據導航到另一個tableview。用戶可以通過按回來按鈕去前一個。另外,在每個選擇中,我需要在詳細視圖中更改圖像。我們可以將導航控制器放在iPad應用程序的MasterView中嗎?

我沒有任何想法來實現這一點。

請提供任何建議或任何示例代碼。

在此先感謝。

回答

2

試試這個在您的appDelegate didFinishLaunchingWithOptions方法

MasterViewController *masterViewController = [[[MasterViewController alloc] initWithNibName:@"MasterViewController_iPad" bundle:nil] autorelease]; 
    UINavigationController *masterNavigationController = [[[UINavigationController alloc] initWithRootViewController:masterViewController] autorelease]; 

    DetailViewController *detailViewController = [[[DetailViewController alloc] initWithNibName:@"DetailViewController_iPad" bundle:nil] autorelease]; 
    UINavigationController *detailNavigationController = [[[UINavigationController alloc] initWithRootViewController:detailViewController] autorelease]; 

    self.splitViewController = [[[UISplitViewController alloc] init] autorelease]; 
    self.splitViewController.delegate = detailViewController; 
    self.splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationControlle, detailNavigationController, nil]; 

    self.window.rootViewController = self.splitViewController; 
    [self.window makeKeyAndVisible]; 
2

這當然是可能的。對可以在分割視圖控制器的主視圖和詳細視圖中顯示的內容沒有限制。

將分割視圖看作僅顯示兩個視圖控制器的視圖。它們可以包含任何東西

如果我明白你想要正確實現的目標,那麼你想要做的就是創建一個帶有UITableView的視圖控制器,它將顯示左列中的數據。這個視圖控制器還應該有一個UINavigationController,當你在表格中選擇某個東西時,它將推動另一個視圖控制器。

到目前爲止,這麼好。在細節視圖中沒有任何變化,因爲它實際上並不知道或以任何方式連接到主視圖。當用戶在主視圖中移動了足夠多的步驟並且您想要更改詳細視圖時 - 那麼您可以設置導航控制器的viewControllers屬性以使用您要顯示的任何視圖控制器來更新詳細視圖。

1

是的,你可以。 Apple提供了一個示例代碼,稱爲MultipleDetailViews

它顯示瞭如何在使用委派的主數據和詳細數據之間完成通信。

相關問題