2012-05-29 135 views
1

我有以下情況:我從一個登錄屏幕開始(我希望沒有工具欄或標籤欄。)用戶登錄後,我想顯示一個帶有多個選項的選項卡欄,每個選項都可以向下鑽取進入他們自己的視圖層次。因此,每個選項卡都必須具有導航控制器功能。如何處理標籤欄控制器內的導航控制器?

因此,最直接的解決方案是有一個標籤欄控制器,然後讓每個部分(總共3個)都有自己的導航控制器。但是,問題是我希望整個應用程序中的每個頁面都有一個註銷按鈕,這將使其返回到第一個屏幕。

我可以從每個頁面的註銷按鈕回到開始,但這似乎是錯誤的。我也可以將標籤欄控制器放置在導航控制器中;但是我聽說導航控制器應該總是在標籤欄控制器內部,並且永遠不會相反。

任何建議

回答

2

如果對每個UINavigationController的根視圖控制器是登錄界面,爲什麼不乾脆讓分配給self.navigationItem.rightBarButtonItem每個相應的視圖退出按鈕。點擊後,它可以調用您的註銷功能,然後popToRootViewControllerAnimated:帶你回到登錄屏幕。

你可以在你想要的任何視圖中使用setNavigationBarHidden:animated:或不想顯示導航欄。

1

將您的「登錄」屏幕顯示爲導航控制器標籤欄控制器頂部的模式視圖控制器。每當你在該應用的任何註銷你提出一個新的模態登錄視圖,然後可以重置您的其他控制器的狀態,當他們不再可見。在登錄時,您會關閉模式並顯示標籤欄控制器及其包含的內容。

相關問題