0

コード内で特定の幅と高さを持つ UIImage オブジェクトをプログラムで作成し、json からフェッチするイメージをロードするためのサンプル コードを提供してください (イメージ URL である必要があります)。

画像の読み込みに同期ネットワーク リクエストを使用すると、読み込みが完了するまで UI がブロックされますか? もしそうなら、解決策は何ですか?

前もって感謝します

4

1 に答える 1

1

json データから画像の URL を取り出し、画像をダウンロードして、必要に応じて画像を使用します。

NSString *imageURL = url from your json string;
NSURL *url = [NSURL URLWithString:imageURL];
UIImageView *imageView = [UIImageView alloc] initWithFrame:CGRectMake(0,0,50,75)];
[yourParentView addSubview: imageView];

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_async(queue, ^{
    UIImage *image = [UIImage imageWithData: [NSData dataWithContentsOfURL:url]];
    dispatch_sync(dispatch_get_main_queue(), ^{
        imageView.image = image;
        CGRect frame = CGRectMake(imageView.origin.x, imageView.origin.y, image.size.width, image.size.height);
        imageView.frame = frame;
    });
});
于 2013-06-13T16:28:42.237 に答える