2012-01-31 63 views
1

我有一個MBProgressHUD,顯示數據在異步背景上拉的時間。有時當網絡很慢時,這將會持續下去。所以截至目前,我只是在30秒後隱藏它,如果它沒有被解僱。對於緩慢的網絡連接,解除HUD的好方法是什麼?MBProgressHUD解僱

+0

SuperView把你問如何駁回HUD,或如何在30秒後關閉它,或替代解決方案,以30秒後貶? – UIAdam 2012-01-31 19:18:33

+0

30秒後解除它的替代解決方案。導致發生什麼事是我可以在30秒後關閉HUD,但是背景中仍有某些內容正在加載,但尚未完成。 – xonegirlz 2012-01-31 19:30:44

回答

4

我想說,最好的解決方案可能是在數據加載的整個過程中保持HUD,以便用戶知道發生了什麼事情,並且可能會給他們一個選項以取消它,如果這適合您的應用程序。或者,如果您可以逐段加載和顯示數據(即在您擁有整組數據之前),那麼您應該只顯示HUD,直到您有足夠的數據,您可以開始在UI中顯示某些內容用戶可以與之交互。

基本上,你想避免的是一種情況,用戶可能覺得沒有什麼事情發生,用戶界面本質上是空白的,沒有任何東西可以做。

+0

我同意,只要您提取數據,您應該堅持展示HUD。在這方面使用-showWhileExecuting對我來說工作得非常好。如果你不再顯示它,用戶會認爲它已經完成並嘗試進行交互,如果沒有數據,那就不好。 – 2012-01-31 20:18:06

+0

是的,這實際上是問題......但是,如何在HUD旋轉時取消選擇取消選項?有沒有這樣的選擇? – xonegirlz 2012-02-01 06:08:19

+0

它不像HUD那樣依賴於HUD來加載數據。你需要一些方法來取消你的後臺數據加載操作。 – UIAdam 2012-02-01 07:35:56

0

實施MBProgressHUD代表

它都會被調用的時間是否如果是快或慢的網絡連接,在網絡連接速度慢的情況下,會有一個時間出來,這代表將被解僱,從取出HUD在此委託

-(void)hudWasHidden 
{ 
    [HUD removeFromSuperview]; 

}