现在运行活动指示器

时间:2010-10-18 18:35:27

标签: iphone cocoa-touch ipad uikit ios

我想在转到磁盘I / O之前启动一个活动指示器。

如何启动指示器,而不是等待下一个显示循环周期?或者如何在开始磁盘I / O之前强制显示循环?

2 个答案:

答案 0 :(得分:1)

如果我理解正确您的IO操作需要一些时间,并且您希望UI在您执行时更新,对吧?如果是这种情况,您必须将操作移至后台线程,以便UI有机会自行更新,没有解决方法。使用performSelectorInBackground:withObject:调用您的IO操作,使用NSOperation,或阻止您定位iOS 4.0 +

答案 1 :(得分:0)

据我所知,您现在无法强制启动指标。要推送方法调用以使其成为runloop中的下一个内容,您可以使用:

[self performSelector:@selector(taskToDo) withObject:nil afterDelay:0]

这会将'taskToDo'(可选地带有一个参数)安排到当前的runloop上,并尽快发生。然后让这段代码退出。一个等效的方法是安排一个NSTimer,但从语法上来说,它有点冗长。