2

我是一個初學者,可以單擊並創建一個具有登錄屏幕的應用程序,其中包含鏈接到忘記密碼頁面和註冊頁面的導航控制器。根視圖控制器是導航控制器。Monotouch:使用標籤欄控制器和導航控制器。哪一個去AppDelegate?

現在,登錄後,用戶將看到帶有標籤欄控制器的標籤式UI(4個標籤)。每個選項卡都有自己的一組頁面,我打算使用導航控制器進行導航。

實現此目的的最佳方式是什麼?我的根視圖控制器應該是Nav。控制器或標籤欄控制器?由於作爲根的導航控制器在邏輯上工作,如果它是第一次登錄場景。但是,如果用戶的憑證已保存,那麼當打開應用程序時,我會直接打開選項卡式界面。欣賞幫助

回答

1

我建議以一個導航控制器作爲根視圖控制器開始,它已將登錄屏幕設置爲其用戶尚未登錄的唯一視圖控制器。從該屏幕開始能夠簡單地推入您的註冊並忘記密碼屏幕(在基本的導航控制器中,您不必爲每個新屏幕設置新的導航控制器,除非您想以模擬方式顯示(不是推送它)。

用戶登錄以後你只需在AppDelegate中切換根視圖控制器到您的TabBar控制器,它成爲新的根。

對於每個在標籤欄內顯示的選項卡中,定義了一個導航控制器,該控制器再次包含要在該特定選項卡項目中顯示的第一個屏幕。因此,如果您有4個選項卡,則可以設置4個導航控制器並將它們傳遞給UITabBarController.ViewControllers。

(我目前選擇了完全相同的設置,所以我非常確定這是可行的:-))。

+0

謝謝!!!!!! –

+0

一個額外的問題@asp_net:你有一個條件RootViewController的在你的appdelegate,說 如果(storedcredentials_are_available) 設定{RootViewController的= tabbarcontroller;} 否則 RootViewController的= navigationcontroller? - 登錄/註冊 –

+0

準確地說,只需在FinishedLaunching()內決定是通過導航控制器顯示登錄屏幕還是通過標籤欄控制器顯示常規應用程序。 –

相關問題