2014-10-04 37 views
0

我想通過使用分體視圖控制器將我的應用程序調整到iPhone 6+。 目前,我的應用程序是一個簡單的表格視圖,列出了我的文章和詳細信息視圖。適用於iPhone 6 Plus的分體式視圖控制器

我希望我的應用程序在iPhone 6 Plus的橫向模式下切換到分割視圖,但我不知道如何正確製作。

我創建了一個新的故事板並集成了一個分割視圖控制器,然後我卡住了。當我點擊主視圖(這是一個表視圖)上的單元格時,我不知道如何將我的消息推送到Detail View Controller。我試圖在didSelectRowAtIndexPath方法方法補充一點:

[self.navigationController pushViewController:viewController animated:YES]; 

,但是當我這樣做,詳細信息視圖推拆分視圖(主視圖)的左側部分內。

我也試圖添加表視圖控制器單元和詳細視圖控制器之間的「顯示方式」 SEGUE,並添加在didSelectRowAtIndexPath方法方法:

[self performSegueWithIdentifier:@"showDetails" sender:self]; 

但是同樣的問題,該視圖內推主視圖。

其他問題,在縱向模式下,默認視圖是詳細視圖。我如何顯示主視圖?

預先感謝您的幫助!

+0

的主詳細的默認行爲視圖控制器是一個推動時,從主從細節。您可以將其更改爲顯示細節或模式顯示。 – gabbler 2014-10-04 02:27:35

回答

0

從您的主視圖控制器中,您應該能夠使用self.splitViewController訪問SplitViewController本身。 SplitViewController有一個屬性viewControlers,它是一個包含兩個元素的數組:第一個是主視圖控制器,第二個是細節側的視圖控制器。在每種情況下,層次結構中的頂級控制器通常都是導航控制器。所以,從你的主控制器(的tableView)的代碼,你可以像訪問detailController:

UINavigationController *detailNav = self.splitViewController.viewController[1]; 
[detailNav pushViewController:viewController animated:YES]; 

在實踐中你應該使用一些更復雜的不是推送,避免堆可怕的建立爲你點擊在主視圖中的不同單元格上。但這應該讓你走。此外,使用Apple的模板創建測試主/細節應用程序並分析它們的工作方式。這有一些代碼用於在彈出控制器中顯示主視圖控制器,這是在縱向模式下顯示它的方式。

+0

謝謝,這工作! – ThibaultV 2014-10-04 13:31:18

相關問題