2010-08-30 85 views
3

好的。我知道如何在iPhone上顯示啓動畫面。看起來很簡單(即設置Default.png並調用「sleep」命令)。iPhone - 在顯示啓動畫面時做點什麼

但是,這段時間應用程序實際上是在做什麼嗎?在顯示應用程序的第一個屏幕之前,我的應用程序需要從Web獲取一些數據,但是當我執行啓動屏幕時,似乎並沒有在顯示啓動圖像時執行此操作。

我可以讓應用程序在顯示啓動畫面時做些什麼嗎?

回答

4

最好的方法是以不同的方式構造應用程序。

使您的應用程序在啓動時顯示Default.png(即將UIImageView放到屏幕上),然後開始獲取您的數據。

然後,無論您何時提取數據(或者如果您確實需要,一旦NSTimer過期,但如果您避免固定的時間間隔,則會提供更好的用戶體驗),請將視圖更改爲您的真實視圖。

2

如果您有想到在顯示Default.png時需要調用「睡眠」的想法,並且在顯示此圖像時沒有任何內容正在發生?當操作系統加載你的應用程序時顯示Default.png。在這段時間你無法做任何事情。事實上,你還沒有任何控制。它由OS處理。這背後的想法是讓用戶感覺應用已經快速加載,但實際上你的應用沒有完全加載,而Default.png卻是由操作系統顯示而不是黑屏。

+2

有一個「教程」告訴人們在App Delegate中進行睡眠,以使啓動屏幕保持一點並模仿真實的加載行爲。可怕但真實。 – 2010-08-30 13:08:28

+3

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

1

在啓動應用程序並在後臺處理工作後,您可以手動添加視圖,看起來像啓動畫面。我還會向用戶指出「加載數據」的提示,因爲應用程序應該在3秒內啓動。

1

如果您閱讀人機界面指南,他們非常清楚,Default.png不打算成爲品牌的啓動畫面。這意味着打開UI初始頁面的靜態「外殼」,以便用戶體驗快速加載。所以它根本不是爲許多應用程序使用它(包括我的一些應用程序)而設計的。

如果您的第一個屏幕再次出現該圖像,可能是其上的活動微調器或狀態文本,您可以在其背景中執行任何需要的操作,然後將其替換爲第一個完成後,應用程序的「真實」屏幕。

1

通常,視圖控制器中的所有awakeFromNib調用都是在應用程序加載時完成的(即啓動屏幕已啓動)。當我在awakeFromNib調用的應用程序中放置斷點時,在啓動屏幕啓動並加載應用程序時會觸發斷點。因此,您在 中所做的所有事情都將在加載屏幕啓動時處理。