有没有高速动态更新UIImageView镜像的例子?这些图像是通过NSThread中的IP连接接收的。但当我执行imageView.image =newImageRecd时,它们不会更新;
编辑:所有数据都记录在主线程上
感谢您的帮助/指点。
发布于 2010-11-23 00:46:36
UI更新需要在主线程上执行。如果在不同的线程上运行连接,请使用:
[self performSelectorOnMainThread:@selector(updateImageView:) withObject:newImageRecd waitUntilDone:FALSE];其中updateImageView:是用于设置图像视图的图像属性的方法:
-(void)updateImageView:(UIImage *)image
{
[self.imageView setImage:image];
}发布于 2012-04-24 14:14:26
对于iOS 4和更高版本,您可以使用中央调度(GCD)在后台线程上加载图像。这里有一个完整解释这个过程的链接:
http://blog.slaunchaman.com/2011/02/28/cocoa-touch-tutorial-using-grand-central-dispatch-for-asynchronous-table-view-cells/
上面的教程提供了以下代码:
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];
});
});我自己一直在使用它从远程服务器加载图像,它工作得很好。
https://stackoverflow.com/questions/4247790
复制相似问题