2015-02-24 47 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; 唯一的问题是不会有任何页面导航动画。您可以观察委托或通知您的加载过程。