什麼是創建iOS應用程序登錄屏幕的最佳方法?當用戶沒有登錄時,通過幻燈片模式呈現該應用程序登錄屏幕?iOS模態登錄屏幕出現在應用程序的任何地方
的用戶將是「退出」在下列情況下:
- 他從未登錄到應用程序(即第一次使用)
- 他已明確退出該應用程序的
- 他被註銷的服務器(例如他的安全令牌已過期 在服務器上,並且被傳遞到應用程序)
我的應用程序由的被設置爲應用程序的RootViewController,並且每個屏幕(除了登錄屏幕)都會在用戶導航應用程序時被推送到NavigationController上。用戶可以導航到的屏幕之一(即被推入堆棧)是註銷屏幕(其中用戶可以註銷應用程序)。登錄屏幕應該在需要時顯示,邏輯和演示應該從一個集中的地方發生。我正在使用故事板。
我曾嘗試是繼承UINavigationController
(爲RootViewController的),並在其viewDidAppear
方法我檢查(我存儲一個標誌NSUserDefaults
)的用戶是否登錄。如果他已經登錄,應用程序的第一個屏幕(以編程方式)被推入堆棧;如果他沒有登錄,登錄屏幕(以編程方式)以模態方式呈現。
這種方法有以下兩個問題:
- 你不能爲子類的
UINavigationController
背景圖像,所以一個空白屏幕出現一小會兒 - 子類的
UINavigationController
的viewDidAppear
不 在彈出到其RootViewController時調用(具體地,當從註銷屏幕彈出時,彈出 )
理想情況下,我想要一箇中心位置來檢查用戶是否已登錄(我希望子類型爲UINavigationController
的viewDidAppear
方法將成爲此位置)來檢查用戶的登錄狀態,並在需要時顯示模式登錄屏幕。
我已經看過Login Screen using Storyboard和Example for login screen modally based on storyboard(以及其他引用的文章),但他們都沒有解決從中心點顯示模態登錄屏幕的問題。
我將如何去_when_檢查AppDelegate中的登錄狀態?即有沒有一種方法可以被「定期」調用(比如ViewController中的viewDidAppear),我可以把它放在那裏? – mrtnkrstn