0

不要求我顯示代碼,因爲沒有代碼。一切都在故事板上完成。在另一個UINavigationController中的UITabBarController中使用UINavigationController的問題

我的應用程序從一個主導航控制器開始,該控制器擁有一個登錄視圖控制器作爲其根視圖控制器。登錄視圖控制器有一個按鈕。按下按鈕時,按下標籤欄控制器。標籤欄控制器有4個項目。每個項目都是輔助導航控制器,維護自己的視圖控制器堆棧。所以基本上結構是:主UINavigationController - >登錄視圖控制器 - >UITabBarController - >第二個UINavigationController - >視圖控制器陣列。

問題是:當我沿着輔助導航控制器的視圖控制器堆棧時,我想通過按導航欄上的Back按鈕返回到先前的視圖控制器。但事實證明,導航欄不屬於當前的導航控制器(次要的)!它屬於主導航控制器!所以當我點擊Back按鈕時,我彈出到應用程序的開頭,登錄視圖控制器,因爲主導航控制器彈出選項卡欄控制器。我希望我清楚地描述了這個問題。

當然,我可以做一個解決方法。如果我隱藏主導航控制器的導航欄,那麼我會看到輔助導航控制器的導航欄,這正是我需要的。但我覺得這不是一個合適的解決方案。我覺得必須有一個正確的。你們覺得怎麼樣?

回答

1

我不建議使用UINavigationController從登錄到Segue公司到您的主UITabBarController ...就個人而言,我更喜歡有主UIWindow作爲登錄的不同rootViewController或呈現登錄模態(不含動畫)...這樣做更有意義,因爲您不希望用戶「導航回」到登錄屏幕,而是完全使用註銷並切換上下文。

相關問題