iphone中的图像是否有“on load complete”这样的东西?
我希望能够破坏一次UIActivity指示器并加载图像。
这样做的一般最佳做法是什么?
答案 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}}
我不得不承认,我没有测试上面的代码。如果有效,请发表评论。