2012-05-14 33 views

回答

2

您可以顯示加載屏幕。 您可以使用不同的線程並分離線程。 或者,您可以使用UIActivityIndicatorViewUIProgressBar來顯示當前正在加載。

UIActivityIndicatorView基本上就像當你啓動你的mac。一個旋轉的圈子。 UIProgressBar是一個空的酒吧,隨着加載量的增加而填滿藍色。

一個UIProgressBar有一個名爲progress,而你只是發送startAnimatingstopAnimating消息到UIActivityIndicator

想了解更多關於這兩個變量,檢查下面的鏈接:

Progress Bar Apple Documentation

Progress Bar Image

Activity Indicator Apple Documentation

Activity Indicator GIF Image

更新你的問題在其他答案:

你在裝呢?您正在加載的類/對象是否具有委託方法?如果你說

仍然被初始化,並繪製到屏幕

考慮以下object是你的對象之一 可以說

if (object) { 
// saying just 'object' asks if it is non-zero/valid 
} 

另外要檢查是否吸引到屏幕試試:

if([self.view.subviews containsObject:object]) 

if([object superview] == self.view) 

或方法

-(BOOL)isDescendantOfView:(UIView *)view; 

返回值YES如果接收機的視圖立即或遠處子視圖或者如果視圖是接收器本身;否則爲NO

ALSO:當我說self.view時,它不一定是self,因爲加載視圖可能是不同的視圖。您可以向其他班級發出一個對象,然後調用該班級而不是self。像:if([otherClass.object superview] == otherClass.view) 你也可以將在其他類的update方法,所以你可以說:

if([otherClass finishedLoading]) 

,然後有以此爲update方法:

- (BOOL)finishedLoading { 
return ([object superview] == self.view) 
} 

這是很多參加!還有其他問題嗎?

+0

這很有幫助,我想我會用測試的方法去看所有的子視圖是否已經初始化。謝謝! – Fitzy

2

「如何加載這些對象」 - 可以有多種方式,按您的需要 -

  1. ,您可以使用併發線程加載的東西。

  2. 你可以去延遲加載 - 首先加載那些需要在第一個屏幕上顯示的東西(考慮到你正在加載第一個屏幕上不需要的數據)。

  3. 您可以顯示加載屏幕並讓用戶知道加載正在進行。

你可以使用一個UIActivityIndicatorUIProgressBar表明當前加載的。

+0

說我顯示一個加載屏幕,我怎麼知道什麼時候一切都完成加載,所以我可以停止顯示該屏幕? – Fitzy

+0

@Fitzy我在回答更新中回答這個問題 – MCKapur

+0

@Fitzy - 問題修復還是有些疑問? – rishi

相關問題