2012-04-30 45 views
1

我有一組圖像,視頻和.gif圖像顯示在UIWebView中,當用戶滾動到scree底部並且到達結尾時動態呈現當前UIScrollView偏移量。從網絡上下載項目時,我可以顯示一個活動指示符,使用戶體驗更加流暢和美觀,但是當我將所有數據緩存並從緩存中檢索時,當所有項目呈現相同時,我都會產生相當煩人的滯後時間(每次裝載操作5項)。我的問題是:是否有可能以某種方式從UIScrollView上移除顯示項目時的延遲?如何在主線程上渲染項目時顯示活動指示符?具體來說,當用戶滾動到底部時會發生延遲,滾動會凍結,所有項目都會呈現,並且滾動會繼續與底部相同的用戶拖動到的底部。使用動態渲染項目的UIScrollView消除滾動滯後

P.S.我不能使用UITableView,所以請不要使用它來代替滾動視圖。

回答

1

你應該考慮使用NINetworkImageView從雨雲項目:https://github.com/jverkoey/nimbus

它運作良好,在您的情況的原因是因爲它的操作在不同的線程所獲取的圖像。它可以進行裁剪和調整大小等功能,並在主線程中爲您提供最終結果。

如需更完整的示例,請在此處查看我的答案:https://stackoverflow.com/a/10361005/434841獲取類似問題。

+0

我正在單獨的線程下載圖像。問題不在於如何在後臺線程上下載圖像,而是關於如何在同時滾動和渲染項目時從UIScrollView中移除延遲,以及這是否可能。無論如何,請多謝 – Eugene

+0

解密問題有點難,常見錯誤之一是使用大圖片並讓UIImageView呈現更小的圖像。請張貼您的代碼,以便我可以看一看。您是否嘗試在該場景中使用Nimbus? –

+0

你好Yosi,謝謝你的關心。我正在下載圖像,將它們調整爲較小的圖像並使用調整後的版本,因此這裏沒有問題。我的問題是UI凍結了,我通過繪製一個活動指示器並要求用戶等待...解決了問題。我仍然會將您的答案標記爲正確,謝謝 – Eugene