2015-01-15 31 views
1

因此,我正在編寫一個通用應用程序,並且在iOS 8中,創建拆分視圖似乎是最容易的,以確保iPhone和iPad上的所有內容都能正常顯示。我的應用中佔統治地位的UI組件是一個標籤欄。pushViewController和分割視圖控制器 - 任何解決方法?

我的一個選項卡是一個用作菜單的tableview。我想從didSelectRowAtIndexPath方法推拆分視圖控制器,就像這樣:

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

這會返回一個錯誤:拆分視圖控制器不能推到導航控制器

我可以模態呈現視圖控制器,但是這掩蓋我的標籤欄,使我的界面更加令人費解的(不希望的結果)

[self.navigationController presentViewController:ytSplitViewController animated:YES completion:nil]; 

有沒有辦法,我可以利用我的UI範例內展示我的SplitViewController一個解決方法嗎?更清楚的是,我可以使用不同的方法實質上推送我的分割視圖控制器嗎?

如果它是相關的,這是我如何創建我的拆分視圖:

YTTableViewController *ytTableViewController = [YTTableViewController new]; 
UINavigationController *ytNavigationController = [[UINavigationController alloc] initWithRootViewController:ytTableViewController]; 
YTDetailViewController *ytDetailViewController = [YTDetailViewController new]; 
UINavigationController *ytDetailNavigationController = [[UINavigationController alloc] initWithRootViewController:ytDetailViewController]; 
NSArray *ytViewArray = [NSArray arrayWithObjects:ytNavigationController, ytDetailNavigationController, nil]; 
UISplitViewController *ytSplitViewController = [UISplitViewController new]; 
ytSplitViewController.viewControllers = ytViewArray; 
ytSplitViewController.delegate = ytDetailViewController; 

回答

5

拆分視圖控制器是爲了呈現爲根對象,層次結構中的不推。

當然,你可以使用視圖控制器遏制來欺騙它。創建一個UIViewController子類,將分割視圖控制器添加爲子控制器,然後推送父控制器。這應該工作。

相關問題