2011-10-27 34 views
0

我正在嘗試使用MBProgressHUD顯示通過ASINetworkQueue下載的多個圖像的下載進度。MBProgressHUD with ASIHTTPRequest

我已經將hud設置爲networkQueue的進度委託,並且我還將hud的模式設置爲MBProgressHUDModeDeterminate。

我可以使hud顯示和隱藏,但我無法改變進度。直到networkQueue完成後,hud纔會重新繪製自己。

我可以看到MBProgressHUD的drawRect永遠不會被調用,但我不知道爲什麼。

如果有人能提供如何實現這一點的示例或僞代碼,我將不勝感激。

感謝,

安德

回答

0

或許有兩種可能的問題:

  1. 應用程序的主線程已被封鎖;你是否在主線程或類似的地方調用'waitUntilAllOperationsAreFinished'?

  2. 如果服務器沒有發送Content-Length:標頭,ASIHTTPRequest不能報告進度,所以這也可能是問題。

+0

好的,我已經玩了一點我的程序,發現問題很可能與線程有關。我使用先前的ASIHTTPRequest的成功方法啓動網絡隊列。如果我自己執行方法(如按下按鈕),則會顯示進度。我怎樣才能解決這個問題? – bolshas

+0

現在我已經設法縮小我的搜索範圍:問題真的出現在這個方法中:[downloadRequest setDidFinishSelector:@selector(imageDownloadComplete :)];在這個方法裏面我有一個調用:[viewHolder.layer renderInContext:UIGraphicsGetCurrentContext()];如果我評論這一行,則會顯示進度。 – bolshas