我有一个设置 49 个图像的 IBAction。图像仅在方法结束时设置,而不是一一设置。为什么它会这样做?我将如何使图像一张一张地设置,而不是在方法结束时一次全部设置。有 1.4 秒的挂起,然后立即设置所有图像。
问问题
39 次
1 回答
0
我同意马特的建议,即您应该在后台线程中加载图像,例如
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(queue, ^{
for ( /* loop through my images */ )
{
// do whatever you need to do to load image (e.g. create your UIImageView, myImageView)
// now submit it to the main queue to be displayed, in this case, adding it to the scrollview that I use to hold all of my image thumbnails
dispatch_async(dispatch_get_main_queue(), ^{
[self.scrollView addSubview:myImageView];
});
}
});
注意,创建的 UIImageView 的添加被提交回主队列,因为所有 UI 更新都必须在该主队列上发生。
于 2012-05-26T02:45:25.087 回答