2012-10-27 101 views
0

我有一個應用程序呈現由各組控件(UIWebViews加上一組自定義控件)組成的「內容」頁面。該處理目前需要大約1秒才能完成並在處理時鎖定UI。顯示UIActivityIndi​​catorView,而UI正在更新

我不能將UI元素的構建移動到後臺線程上,因爲我使用的是UIWebView,所以這在某種程度上是不可避免的(我只根據需要按需加載頁面)。

Wat我要做的是在內容呈現的同時顯示活動指標,但我似乎無法做到這一點。我嘗試設置一個指標,然後觸發在非常短暫的延遲後渲染其餘內容的方法,但這從未在用戶界面中反映出來。

有沒有人有任何觸發CPU重渲染操作之前的活動指標的例子?

回答

1

你需要MbProgressHUD,一個非常簡單的方法來添加進度指示器...它爲我節省了很多麻煩。

https://github.com/jdg/MBProgressHUD

+0

看起來像需要在後臺線程上完成工作?正如我所說,看起來你不能在主線程以外的任何東西上使用UIWebView。 – AustinRathe

+0

它不需要後臺線程。您可以使用第一個WebViews shouldStartLoadWithRequest,並在系列的最後一個didFinishLoad中進行清理。它會工作。多次使用,安裝快速簡單。 – chrislhardin

+0

是的,你是對的,道歉和謝謝 – AustinRathe

1

我不知道我是否理解得很好,但如果您只是想添加活動指示符 您可以使用uiwebview委託的方法。例如,您可以在shouldStartLoadWithRequest中添加活動指示器視圖,並在didFinishLoad中將其刪除。

+0

對不起,澄清,正在呈現的東西不只是一個web視圖,它是一組網頁視圖和其他控件。 – AustinRathe

相關問題