我有一個應用程序,每個應用程序都有對應的UINavigationController
,它們都放在UITabBarController
的內部,在屏幕底部顯示5個選項卡。UITabBarController中的隱藏的UINavigationController
當按下對話框按鈕時,我想要顯示另一個UIViewController
(位於UINavigationController
內)。
該視圖只能以編程方式加載和卸載;即它不應該出現在標籤欄中。但是,我希望標籤欄始終可見。
如果我將[UINavigationController view]
添加到[self window]
UITabBar
被覆蓋。如果我將它添加到任何其他圖層,則UINavigationController
會增加它對狀態欄的補償,使其顯得比預期的更低。
解決方法是將第6個UINavigationController
與其他的UITabBar
相加,但隱藏其tabBarItem
。然後我可以使用tabBar
s selectedIndex
屬性將其隱藏。
通過UIViewController
訪問tabBarItem
顯示沒有明顯的方法。
@wisequark,我想你完全誤解了,你幾乎改寫了我的應用程序的體系結構。不過,對於每個視圖,我都有一個單獨的導航控制器,因爲它們是互斥的,沒有「鑽取」的概念。
@Kendall,這是我期望我必須做的 - 讓模態視圖帶有一個隱藏按鈕來恢復正常的界面。但是保持標籤欄始終可見,這將是很好的,所以我只是想知道有沒有人知道一種方式。