iPhone - 在显示启动画面时做点什么

问题描述:

好的。我知道如何在iPhone上显示启动画面。看起来很简单(即设置Default.png并调用“sleep”命令)。iPhone - 在显示启动画面时做点什么

但是,这段时间应用程序实际上是在做什么吗?在显示应用程序的第一个屏幕之前,我的应用程序需要从Web获取一些数据,但是当我执行启动屏幕时,似乎并没有在显示启动图像时执行此操作。

我可以让应用程序在显示启动画面时做些什么吗?

最好的方法是以不同的方式构造应用程序。

使您的应用程序在启动时显示Default.png(即将UIImageView放到屏幕上),然后开始获取您的数据。

然后,无论您何时提取数据(或者如果您确实需要,一旦NSTimer过期,但如果您避免固定的时间间隔,则会提供更好的用户体验),请将视图更改为您的真实视图。

如果您有想到在显示Default.png时需要调用“睡眠”的想法,并且在显示此图像时没有任何内容正在发生?当操作系统加载你的应用程序时显示Default.png。在这段时间你无法做任何事情。事实上,你还没有任何控制。它由OS处理。这背后的想法是让用户感觉应用已经快速加载,但实际上你的应用没有完全加载,而Default.png却是由操作系统显示而不是黑屏。

+2

有一个“教程”告诉人们在App Delegate中进行睡眠,以使启动屏幕保持一点并模仿真实的加载行为。可怕但真实。 – 2010-08-30 13:08:28

+3

可怕的行为。 – taskinoor 2010-08-30 13:15:11

在启动应用程序并在后台处理工作后,您可以手动添加视图,看起来像启动画面。我还会向用户指出“加载数据”的提示,因为应用程序应该在3秒内启动。

如果您阅读人机界面指南,他们非常清楚,Default.png不打算成为品牌的启动画面。这意味着打开UI初始页面的静态“外壳”,以便用户体验快速加载。所以它根本不是为许多应用程序使用它(包括我的一些应用程序)而设计的。

如果您的第一个屏幕再次出现该图像,可能是其上的活动微调器或状态文本,您可以在其背景中执行任何需要的操作,然后将其替换为第一个完成后,应用程序的“真实”屏幕。

通常,视图控制器中的所有awakeFromNib调用都是在应用程序加载时完成的(即启动屏幕已启动)。当我在awakeFromNib调用的应用程序中放置断点时,在启动屏幕启动并加载应用程序时会触发断点。因此,您在 中所做的所有事情都将在加载屏幕启动时处理。