2012-11-06 54 views
0

我正在構建一款應用程序,可在應用程序加載時執行大量設置。因此,我有而設置進行顯示一些信息給用戶一個加載視圖...我應該如何替換我的主窗口的rootViewController?

MyLoadingViewController *loadingViewController = [[MyLoadingViewController alloc] init]; 
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 
self.window.rootViewController = loadingViewController; 
[self.window makeKeyAndVisible]; 
. 
. 
//Setup code happens here 
. 
. 
MyHomeViewController *homeViewController = [[MyHomeViewController alloc] init]; 
self.window.rootViewController = homeViewController; 

當安裝完成的代碼,我想過渡到我的主屏幕。是否將rootVewController設置爲新的主視圖控制器是進行這種轉換的適當方式?

非常感謝您的智慧!

+0

我會等待比我的更好的答案,但我會做的是設置適當的控制器作爲rootViewController,然後在安裝程序開始之前,從控制器內啓動您的加載視圖。 –

回答

1

是的,這是一個好方法 - 你不會有任何動畫,但它應該可以正常工作。在切換根視圖控制器後,將取消分配loadingViewController - 如果這不是你想要的,那麼你應該創建一個屬性來指向它。

1

我有時會通過讓ViewController執行所有加載操作,在加載時顯示與屏幕上的default.png完全相同的圖像,然後在完成後將其設置爲動畫。

例如,在我的LoginViewController中,我首先在viewDidLoad中顯示默認圖像,請聯繫服務器進行自動登錄,然後在應用程序登錄後淡出圖像。用戶從來不會注意到,只要應用程序準備就緒,他就會看到默認圖像淡出。

相關問題