2009-08-25 124 views
1

我想在導航控制器(頂部藍色導航欄)下有一個TabBar(底部爲黑色)的視圖(層次結構),以在同一級別顯示其他視圖(每個標籤)。TabBar控制器和導航控制器 - 誰是經理?

如果您選擇其中一個視圖(黑色選項卡欄),應該始終使TabBar可見,以跳轉到同一級別的另一個視圖。如果你想回到上層級別,你必須選擇頂部欄中的「後退」導航按鈕(藍色),「標籤欄」應該消失。

爲什麼蘋果建議(在我看來)要避免這種情況?

我從引用「視圖控制器編程指南iPhone OS」第39頁,其中寫到:

這是很常見的標籤欄和導航控制器結合,如圖4所示。要做到這一點,您只需將導航控制器添加到標籤欄控制器(然而,,您不應該將標籤欄控制器添加到導航控制器)。

相反,我會添加一個「標籤欄」一「導航欄」(經理)

難道我想錯了下?

感謝您的幫助!

達里奧

回答

3

他們的意思是,一個標籤欄不應該是一個導航視圖的孩子。標籤欄實際上是爲了定義您的應用程序的不同「模式」,而導航控制器將顯示分層數據。

如果你想在導航控制器中使用某種模式,我認爲會使用一個工具欄。例如郵件應用程序底部的工具欄。

UIToolbar Docs

+0

YEAH !!工具欄(我忘了!) 謝謝 – Fulkron 2009-08-25 14:11:30

+1

不要忘記UISegmentedView。它對模式控制很有用,並且可以在頁面上的任何位置進行。 – Amagrammer 2009-08-25 16:29:10

0

他們的意思是,導航控制器不應該被推標籤欄視圖控制器,因爲它不能支持它,但是一tabbarviewcontroller可以支持導航視圖控制器,所以你可以那樣做。您還可以在導航視圖控制器視圖(而不是導航堆棧)中添加一個選項卡欄,並讓導航視圖管理選項卡欄而不是UITabBarViewController。

Tab Bar Controller > Navigation Controller > View 

你做了很多剛剛與界面生成器,然後綁定TabBarItems,NavigationItems和控制器到網點: