首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态更新uiimage

动态更新uiimage
EN

Stack Overflow用户
提问于 2010-11-23 00:39:39
回答 2查看 797关注 0票数 0

有没有高速动态更新UIImageView镜像的例子?这些图像是通过NSThread中的IP连接接收的。但当我执行imageView.image =newImageRecd时,它们不会更新;

编辑:所有数据都记录在主线程上

感谢您的帮助/指点。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-23 00:46:36

UI更新需要在主线程上执行。如果在不同的线程上运行连接,请使用:

代码语言:javascript
复制
[self performSelectorOnMainThread:@selector(updateImageView:) withObject:newImageRecd waitUntilDone:FALSE];

其中updateImageView:是用于设置图像视图的图像属性的方法:

代码语言:javascript
复制
-(void)updateImageView:(UIImage *)image
{
    [self.imageView setImage:image];
}
票数 0
EN

Stack Overflow用户

发布于 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/

上面的教程提供了以下代码:

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4247790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档