2015-02-24 45 views
0

爲我的應用程序我希望應用程序在進入主頁之前動畫加載進度(加載本地CoreData,並與遊戲中心同步)。iOS加載視圖在應用程序啓動

所以我創建了一個LoadView作爲我的rootview,在ViewDidLoad()中,在本地加載和遊戲中心加載完成後,我然後推送到主視圖。

我敢肯定,這是錯誤的做法,因爲我得到這樣的警告:在分離視圖控制器 呈現視圖控制器被泄氣

你能不能讓我知道什麼是一個好的做法呢?

回答

0

我會建議你創建一個初始的根視圖,這是非常簡單的背景,並使用HUD顯示你的進度。我用這一個:

https://github.com/jdg/MBProgressHUD

當你初始化的一切,放下HUD和用新的加載使用故事板更換根視圖控制器。我建議你給應用程序代理添加一個方法,你可以調用哪個開關給你。

然後關閉並運行新的根目錄。要更改根目錄,請在您的應用程序委託實例中使用以下內容。

self.newController = <load with storyboard>; 
self.window.rootViewController = self.newController; 
[self.window makeKeyAndVisible]; 
0

我會用NSNotificationCenter創建加載結束時聽到的事件的觀察者:

你會放置在viewDidLoad中的觀察者,更多的則可能的是,爲了消除UIView當你CoreData負載開始,你實例化。你很可能需要自己構建一個微調器視圖。我通常使用QuartzCore來做到這一點,並確保它匹配我的應用程序的其餘部分。

因爲你的核心競爭力是不是從您的文章清楚,這裏是一個NSHipster文章,討論使用這個概念的:http://nshipster.com/nsnotification-and-nsnotificationcenter/

0

設置你的第二個視圖控制器的根視圖控制器。所以你不會得到任何警告等。 [UIApplication sharedApplication]delegate] window].rootviewController=secondViewCont; 唯一的問題是不會有任何頁面導航動畫。您可以觀察委託或通知您的加載過程。