0

我有一个设置 49 个图像的 IBAction。图像仅在方法结束时设置,而不是一一设置。为什么它会这样做?我将如何使图像一张一张地设置,而不是在方法结束时一次全部设置。有 1.4 秒的挂起,然后立即设置所有图像。

4

1 回答 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 回答