次のように大きな画像を非同期で表示できます。
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
CGFloat scale = 1.f;
UIImage *sourceImage = [UIImage imageWithData:imageData];
CGSize imageSize = (CGSize){self.size.width / scale, self.size.height / scale};
UIGraphicsBeginImageContext(imageSize);
[self drawInRect:(CGRect) {.size = imageSize}];
UIImage *preloadedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
dispatch_async(dispatch_get_main_queue(), ^{
imageView.image = preloadedImage;
});
});
ただし、画像が読み込まれるまで、プレースホルダーまたはアクティビティ インジケーターを使用する必要があります。
画像が非同期にロードされるまで、画像の低解像度プレビューを表示する方法はありますか?