确定。我知道如何在iPhone上显示启动画面。看起来非常简单(即设置Default.png并调用“sleep”命令)。
但是,应用程序实际上在这段时间内做了什么吗?在显示应用程序的第一个屏幕之前,我的应用程序需要从Web上获取一些数据,但是当我执行启动画面时,它似乎不会在显示启动图像时执行此操作。
我可以在显示启动画面的同时让应用程序执行某些操作吗?
答案 0 :(得分:4)
最好的方法是以不同的方式对应用程序进行不同的构建。
让应用程序在启动时显示Default.png(即将UIImageView放到屏幕上),然后开始提取数据。
然后,当您获取数据时(或者如果您确实必须,一旦NSTimer过期,但如果您避免固定的时间间隔,这是更好的用户体验)将视图更改为您的真实视图。
答案 1 :(得分:2)
你知道你需要在显示Default.png时调用“sleep”并且显示此图像时没有任何动作吗?操作系统加载您的应用时会显示Default.png。在此期间你不能做任何事情。事实上你还没有任何控制权。它由操作系统处理。这背后的想法是让用户感觉应用程序已经快速加载,但实际上你的应用程序没有完全加载,而Default.png显示而不是操作系统的黑屏。
答案 2 :(得分:1)
您可以在启动应用后手动添加看起来像启动画面的视图,并在后台处理工作。我还会向用户添加一个提示“加载数据”的提示,因为应用程序应该在3秒内启动。
答案 3 :(得分:1)
如果你阅读了Human Interface Guidlines,他们很清楚Default.png并不打算成为品牌推广屏幕。这意味着打开UI初始页面的静态“shell”,以便用户体验快速加载。所以它根本没有设计或打算用于许多应用程序使用它(包括我的一些)。
如果您的第一个屏幕再次显示该图像,可能还有活动微调器或状态文本,您可以在后台执行任何操作,然后将其替换为第一个“完成后,真正的“应用程序屏幕”。
答案 4 :(得分:1)
通常,视图控制器中的所有awakeFromNib调用都在应用程序加载时完成(即启动闪屏)。当我在awakeFromNib调用的应用程序中放置断点时,当启动画面启动并且应用程序正在加载时,会触发断点。所以你做的一切 加载屏幕启动时将处理这些调用。