我一直在苦苦掙扎,所以最後我放棄了試圖找到答案並決定立即提問。如何在Xcode上管理登錄和註銷過程
在我的應用程序中,我有一個用戶登錄頁面。該應用程序有一個TabBarViewController,其中有一些NavigationControllers的項目。
我最後的努力是將登錄屏幕嵌入NavigationBarController並使其成爲初始視圖控制器,如下圖所示。
當應用程序啓動時,如果用戶登錄的LogInViewController「塞格斯」的TabBarController,一切都很好。當用戶在ProfileViewController中註銷時,這個ViewController中的一個segue會被初始化爲視圖控制器。
另一方面,如果沒有用戶登錄,LogInViewController將顯示一個視圖,以便用戶可以插入用戶名和密碼。如果憑證是正確的,則LogInViewController'繼續'到TabBarController。問題是,在這一點上,即使該應用程序仍然工作良好,我得到以下警告:
警告:試圖提出TabBarViewController:0xa19a670上的UINavigationController:0xa526370而演示正在進行!
所以我認爲這不是處理所有這個LogIn/LogOut過程的最好方法。
我的問題是,我應該在哪裏把LogInScreen放在層次結構中? 如果有任何機會,我的佈局/層次是正確的,如何使警告消失?
我已經使用了這個系統幾次,它運行良好。我的'rootViewController'是'UINavigationController'(酒吧隱藏)。我的初始視圖控制器的圖像與我的加載圖像相同(用戶看不到變化)。當它加載時,它會檢查用戶是否登錄,然後用交叉淡入淡出動畫對登錄屏幕或登錄屏幕執行'segue'(push)。 「註銷」功能彈出到導航控制器的根目錄,淡入登錄頁面(登錄頁面看起來像加載圖像,但登錄內容被覆蓋)。你的問題聽起來像是實施問題。 – DBD 2013-02-27 16:15:37