2010-09-16 50 views
2

接口構建器不允許添加UISplitViewController作爲UINavigationController的根控制器。 我也嘗試以編程方式創建UINavigationController並將其根視圖控制器設置爲UISplitViewController。UISplitViewController是UINavigationController中的根控制器嗎?

結果是隻有在導航欄的空白窗口。

我也嘗試拆分視圖控制器更換,MGSplitViewController。它主要工作,除了在分割視圖控制器內,主視圖是另一個UINavigationController。它的導航欄顯示太厚。改變方向並返回清除它。

我一直在嘗試各種不同的方法有,看起來像一個拆分視圖和我之間切換其他視圖的視圖。我在一個標籤視圖控制器中嘗試過,編寫我自己的控制器來管理窗口的子視圖,並將分割視圖作爲託管視圖,現在是導航控制器。所有的嘗試都有一些問題。最一致的問題是關於視圖的方向。我的應用程序正在橫向模式下運行,並且通常兒童視圖認爲它仍然是人像。

任何想法讚賞。

回答

2

底線號:一UISplitViewController必須是一個應用程序的根視圖(或者更具體地,一個窗口)。它不能住在UINavigationController或其他東西里面。

這是與當前的SDK的情況下,並沒有保證,將在未來的SDK改變。

+0

這是不正確的。可能有人認爲,UISplitViewController *應該只能是窗口的根視圖,您可以通過編程方式創建UISplitViewController,並將其視圖添加爲另一個視圖的子視圖。我有一個客戶正在這樣做來呈現應用程序的設置屏幕,並且它工作得很好。也就是說,在導航堆棧上放置分割視圖看起來很奇怪。 – 2011-01-07 19:56:38

+1

@chrispix在撰寫本文時,將拆分視圖放置在另一個視圖控制器內會產生運行時錯誤。 AFAIK它仍然有,但我還沒有嘗試4.2 SDK。繼續需要您自擔風險。 – 2011-01-08 18:41:44

1

將分割視圖添加到導航堆棧似乎很奇怪。分割視圖控制器的主窗格通常是一個導航控制器,因此(不知道更多關於您的設計的內容),我可能會使用它來控制您的導航層次結構。

相關問題