2014-10-07 22 views
1

有没有一种方法可以在导航到故事板入口点控制器之前以编程方式定义launchImage出现的时间?iOS LaunchImage操作 - 我可以控制它在屏幕上停留的时间吗?

我希望能够在核心数据异步加载完成块之后才能退出启动画面,以确保我的第一个视图控制器的数据可用性。

在此先感谢

+2

不,但是您可以使用一个仅具有UIImageView(应用程序使用的相同闪屏图像)的控制器,您可以使用它来“模拟”较长的初始化时间。我在我的应用程序中使用它,你不会注意到它的区别。 – 2014-10-07 12:25:30

+0

@MarcoPace - 看起来不错,可以成为我的答案。 – Adam 2014-10-07 12:38:32

+0

发布它作为答案,所以我可以问你一些细节,即如何找到特定于我的设备的资源名称,它是自动的,等等,你会得到复选标记:) – 2014-10-07 12:40:58

回答

2

不,你不能。但是,您需要的是将代码从核心数据中取出的代码放入AppDelegate方法- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions中,并将其同步。数据可用时,将其传递给您的第一个视图控制器并继续执行。

+0

工作效果更好 – 2014-10-07 14:12:26

+0

虽然最终的解决方案是将核心数据初始化放入同步单例中并从AppDelegate阻止应用程序调用它:didFinishLaunchingWithOptions: – 2014-10-07 14:13:42

1

不,但是您可以创建一个UIViewController,它具有一个UIImageView(与应用程序使用的相同的splashscreen图像),您可以用来“模拟”更长的初始化时间。 当数据被检索时,您可以简单地从堆栈中弹出它并初始化您的真实UIViewController。

唯一的问题是从您的设备中检索正确的图像:启动图像自动执行,我建议实施一种简单的方法来选择正确的图像,以避免任何问题。

Here is an answer检测您是否在iPad,iPhone 4“或iPhone 3,5”上。 您可以使用它来选择正确的图像,并在您的UIImageView上使用它。

我在我的应用程序中使用它,你不会注意到它的区别。

+0

工作表示感谢 – 2014-10-07 14:11:46

+0

欢迎您! :) – 2014-10-07 15:04:35

相关问题