2012-11-27 45 views
0

我有一個應用程序檢索XML文件,解析它,然後顯示UITableView內的數據。當應用程序加載完全正常時。當您點擊tabViewController中的另一個選項卡時,它暫停一會並加載下一個視圖。我需要NetworkActivityIndicator在發生這種情況時啓動動畫,但我在爲它放置代碼的位置遇到了一些麻煩。問題與網絡活動指示器安置

在開始發生任何事情之前,我已經嘗試將它放在viewDidLoad方法中,但結果是活動指示器在視圖已完全加載後開始動畫。如果我將NSLog語句放置在相同的位置,它將在點擊標籤時立即顯示在調試器控制檯中。爲什麼活動指標不是立即生成動畫?任何幫助表示讚賞。謝謝!

回答

0

這聽起來像你正在加載主線程上的文件。運行循環只會在每個循環中進行UI更改,因此如果在加載時凍結主線程,則在完成之前不會更改。您應該考慮做異步加載...

稍微哈克的方式來解決這個問題是設置網絡指標可見之後進行一個循環:

[UIApplication sharedApplication].networkActivityIndicatorVisible = YES; 
[[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.1]]; 
+0

正是我需要的。很好的答案。再次感謝。 –