Hen*_*son 8 cocoa-touch loading objective-c uiactivityindicatorview ios
我有一个当前导航到viewcontroller的按钮,连接到IBAction.
在IBAction中,我像往常一样使用[self.view addSubView]创建一个UIActivityIndicatorView,然后加载一些图片.
我已经在指示器视图,视图控制器和窗口上尝试了setNeedsDisplay,但它仍然在显示指示器之前加载图片,这当然对我来说毫无用处.
所以我正在寻找一种方法来强制进行即时重绘(当我想更多关于它不太可能工作时),或者在指示符出现后加载图片的方法,或者一种方法来启动单独的线程或类似的开始动画/显示指标,或将指标放在一个单独的视图控制器中,并以某种方式强制它添加/显示自己,然后再进行图片加载.
建议?
Jac*_*kin 18
我在这种情况下做的是生成一个新线程,它释放主线程来处理UI交互,同时在后台加载东西.
首先显示UIActivityIndicatorView,然后生成一个加载图像的新线程,然后在新线程中执行的方法的最后一行,隐藏UIActivityIndicatorView.
这是一个例子:
//do stuff...
[activityIndicatorView startAnimating];
[NSThread detachNewThreadSelector:@selector(loadImages) toTarget:self withObject:nil];
Run Code Online (Sandbox Code Playgroud)
在你的loadImages方法中:
- (void) loadImages {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
//load images...
[activityIndicatorView performSelectorOnMainThread:@selector(stopAnimating)];
[pool drain];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5889 次 |
| 最近记录: |