动态更新 uiimages

发布于 2024-10-03 10:17:30 字数 155 浏览 2 评论 0原文

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

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

感谢任何帮助/指针。

Any examples available that update UIImageView images dynamically at a high rate? These images are received on a IP connection in a NSThread. But they don't update when I do imageView.image = newImageRecd;

EDIT: All data is recd on main thread

Appreciate any help/pointers.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

煮茶煮酒煮时光 2024-10-10 10:17:30

对于 iOS 4 及更高版本,您可以使用 Grand Central Dispatch (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];
    });
});

我自己一直在使用它从远程服务器加载图像,而且效果很好。

For iOS 4 and later, you can use Grand Central Dispatch (GCD) to load images on a background thread. Here's a link that explains this process fully:

http://blog.slaunchaman.com/2011/02/28/cocoa-touch-tutorial-using-grand-central-dispatch-for-asynchronous-table-view-cells/

The tutorial above provides this code:

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];
    });
});

I've been using this myself to load images from a remote server, and it's working great.

黯然 2024-10-10 10:17:30

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

[self performSelectorOnMainThread:@selector(updateImageView:) withObject:newImageRecd waitUntilDone:FALSE];

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

-(void)updateImageView:(UIImage *)image
{
    [self.imageView setImage:image];
}

UI updates need to be performed on the main thread. If you are running the connection on a different thread, use:

[self performSelectorOnMainThread:@selector(updateImageView:) withObject:newImageRecd waitUntilDone:FALSE];

where updateImageView: is the method used to set the image view's image property:

-(void)updateImageView:(UIImage *)image
{
    [self.imageView setImage:image];
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文