任何可用于以高速率动态更新UIImageView图像的示例?这些图像是在NSThread中的IP连接上接收的。但是当我执行imageView.image = newImageRecd;
时,它们不会更新编辑:所有数据都在主线程上重新编写
感谢任何帮助/指针。
答案 0 :(得分:1)
对于iOS 4及更高版本,您可以使用Grand Central Dispatch(GCD)在后台线程上加载图像。这是一个完整解释这个过程的链接:
上面的教程提供了以下代码:
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0ul);
dispatch_async(queue, ^{
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];
dispatch_sync(dispatch_get_main_queue(), ^{
[[cell imageView] setImage:image];
[cell setNeedsLayout];
});
});
我自己一直在使用它来从远程服务器加载图像,而且效果很好。
答案 1 :(得分:0)
需要在主线程上执行UI更新。如果您在其他线程上运行连接,请使用:
[self performSelectorOnMainThread:@selector(updateImageView:) withObject:newImageRecd waitUntilDone:FALSE];
其中updateImageView:
是用于设置图像视图的图像属性的方法:
-(void)updateImageView:(UIImage *)image
{
[self.imageView setImage:image];
}