Sev*_*yev 5 iphone cocoa-touch uiactivityindicatorview
有什么方法可以显示动画旋转轮,而主线程执行冗长的操作?动画由创建UIActivityIndicatorView的同一个线程处理,对吧?如果是这样,属于多个线程的视图是否可以位于同一视图层次结构中?
所有其他方法都失败了,我不介意将冗长的操作本身移动到后台线程中,但是当它运行时我必须以某种方式冻结UI.我不知道该怎么做.
编辑:第一代设备上的"冗长"约为2秒.
解决方案是在运行冗长的操作之前,通过运行循环至少开始一次迭代动画.例如:
[activity startAnimating];
[self performSelector:@selector(lengthyOperation) withObject:nil afterDelay:0];
Run Code Online (Sandbox Code Playgroud)
您不必使用该performSelector方法,只需将某种方法设置为稍后运行,以便活动指示器有可能在您忙碌之前开始制作动画.
正确的答案肯定是将长度操作移动到后台线程,并在完成后让它与主线程通信.如果您不知道如何操作,请继续阅读NSOperationQueue和NSInvocationOperation.您的应用和您的用户将感谢您学习所需的最短时间.
| 归档时间: |
|
| 查看次数: |
7593 次 |
| 最近记录: |