49 個の画像を設定する IBAction があります。画像はメソッドの最後にのみ設定され、1 つずつではありません。なぜ正確にこれを行うのですか?メソッドの最後に一度に画像を設定するのではなく、画像を1つずつ設定するにはどうすればよいですか。1.4 秒のハングがあり、すべての画像が即座に設定されます。
質問する
39 次
1 に答える
0
私は、画像をバックグラウンドスレッドにロードする必要があるというMattの提案に同意します。
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];
});
}
});
すべてのUI更新はメインキューで行われる必要があるため、作成されたUIImageViewの追加はメインキューに送信されます。
于 2012-05-26T02:45:25.087 に答える