[英]UIWindow's rootViewController considerations
我一直在閱讀幾篇關於切換窗口的rootViewController
的帖子,有時據說在整個應用程序的生命周期中保持相同的rootViewController
比切換它更好,而其他帖子則與在某些時候更改rootViewController
有關。應用程序。 我對此感到困惑,我在Apple的文檔中找不到關於這一點的任何建議。
當您可能在應用程序中使用不同的內容視圖控制器時,最佳做法應該是什么? 例如,假設您有一個標簽式應用程序( UITabBarController
),您希望首先顯示登錄或注冊的歡迎視圖( UINavigationController
):
1)使用固定的rootViewController
。 我認為您應該將UITabBarController
設置為rootViewController
,因為應用程序的核心是選項卡,但如果需要用戶憑據,則在UITabBarController
設置UINavigationController
,隱藏選項卡欄,以推送歡迎視圖並導航到登錄/注冊視圖控制器。
2)接近切換rootViewController
。 首先,如果需要用戶憑據,請將UINavigationController
設置為rootViewController
以顯示歡迎視圖並導航到登錄/注冊,並且一旦成功提供用戶憑據或帳戶成功創建,將rootViewController
切換到UITabBarController
以顯示核心選項卡應用程序。
如果最好的通用方法是根據需要切換rootViewController
,那么您需要考慮哪些內存管理注意事項? 我應該在AppDelegate( UITabBarController
和UINavigationController
)中擁有兩個strong
屬性嗎? 那么在切換rootViewController
時視圖控制器之間的轉換rootViewController
:它會是平滑的,還是應該為它設置動畫?
提前致謝
切換rootViewController的方法很合適。 首先,如果需要用戶憑據,請將UINavigationController
設置為rootViewController以顯示歡迎視圖並導航到登錄/注冊,並且一旦成功提供用戶憑據或帳戶成功創建,將rootViewController切換到UITabBarController
以顯示核心選項卡應用
如果您想在tabbarcontroller中存儲用戶憑據。 將它們存儲在NSUserDefaults
或存儲在主包中的plist
中或在文檔目錄中創建。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.