2012-11-27 46 views
0

我有一个应用程序检索XML文件,解析它,然后显示UITableView内的数据。当应用程序加载完全正常时。当您点击tabViewController中的另一个选项卡时,它暂停一会并加载下一个视图。我需要NetworkActivityIndicator在发生这种情况时启动动画,但我在为它放置代码的位置遇到了一些麻烦。问题与网络活动指示器安置

在开始发生任何事情之前,我已经尝试将它放在viewDidLoad方法中,但结果是活动指示器在视图已完全加载后开始动画。如果我将NSLog语句放置在相同的位置,它将在点击标签时立即显示在调试器控制台中。为什么活动指标不是立即生成动画?任何帮助表示赞赏。谢谢!

回答

0

这听起来像你正在加载主线程上的文件。运行循环只会在每个循环中进行UI更改,因此如果在加载时冻结主线程,则在完成之前不会更改。您应该考虑做异步加载...

稍微哈克的方式来解决这个问题是设置网络指标可见之后进行一个循环:

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

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