uiimage oncomplete iphone

时间:2010-03-16 09:12:55

标签: iphone uiimageview uiactivityindicatorview

iphone中的图像是否有“on load complete”这样的东西?

我希望能够破坏一次UIActivity指示器并加载图像。

这样做的一般最佳做法是什么?

2 个答案:

答案 0 :(得分:0)

UIImage有一个同步API。这意味着当您创建(或绘制)UIImage时,它已被加载和解压缩。这也意味着只要加载该图像,创建(或绘制)UIImage的方法调用就会阻塞。

如果要在加载图像时执行其他操作,则必须在后台线程上加载图像,这可以使用Core Graphics C API。 UIImage不是线程安全的,只能在主线程上使用。

答案 1 :(得分:0)

如果您只是想在UIActivityIndicatorView加载UIImage并在UIImageView中正确显示后解除- (void)loadImageAtPath:(NSString*)path { // show the indicator [_myIndicatorView startAnimating]; // give UIKit a chance to setup and draw the view hierarchy: [self performSelector:@selector(_loadImageAtPath:) withObject:path afterDelay:0]; } - (void)_loadImageAtPath:(NSString*)path { // load the image _myImageView.image = [UIImage imageWithContentsOfFile:path]; // force the image to load and decompress now _myImageView.image.CGImage // image is ready, so we can remove the indicator view [_myIndicatorView removeFromSuperview]; } ,则可以尝试以下操作:

{{1}}

我不得不承认,我没有测试上面的代码。如果有效,请发表评论。