0

jsonを再度呼び出すのではなく、jsonから画像をフェッチし、すべての画像URLを配列に配置しました。テーブルがスクロールされたときに画像をロードする条件を設定する方法がわかりません。これが私がこれを求めた方法です。

+ (NSMutableArray *) createImg: (NSArray*)sampleData
{
NSMutableArray *arrImg = [[NSMutableArray alloc]init];
for(int i=1; i<=[sampleData count]; i++)
{
NSString *strOfUrl = [sampleData objectAtIndex:i];
UIImage *img = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:strOfUrl]]];
    if(img == NULL)
    {
        NSLog(@"null no image");
    }
    else{
        [arrImg addObject:img];
    }   
}
return arrImg;
}

上記をご案内し、不明な点がございましたらお気軽にお問い合わせください。前もって感謝します。

4

2 に答える 2

0

これを使って。スクロール中に画像を表示するのに最適な方法です: https://github.com/enormego/EGOImageLoading

于 2013-03-07T10:04:28.933 に答える
0

これはまさにあなたが探しているものではないかもしれません。ただし、このAsyncImageViewを使用することをお勧めします。遅延読み込みに必要なすべてのロジックを実行します。また、画像をキャッシュします。この API を呼び出すには:

ASyncImage *img_EventImag = alloc with frame;
NSURL *url = yourPhotoPath;
[img_EventImage loadImageFromURL:photoPath];
[self.view addSubView:img_EventImage];  // In your case you'll add in your TableViewCell.

UIImageView を使用する場合と同じです。簡単で、ほとんどのことを行います。AsyncImageView には、UI をロックアップしないように iOS で非同期に画像を読み込んで表示するための UIImageView の単純なカテゴリと、より高度な機能のための UIImageView サブクラスの両方が含まれています。AsyncImageView は URL で動作するため、ローカル ファイルまたはリモート ファイルで使用できます。

ロード/ダウンロードされた画像はメモリにキャッシュされ、メモリ警告が発生した場合に自動的にクリーンアップされます。AsyncImageView は UIImage キャッシュとは独立して動作しますが、既定では、アプリケーション バンドルのルートにある画像はすべて UIImage キャッシュに格納され、キャッシュされた画像の重複が回避されます。

このライブラリを使用して、UIImageView とは無関係にイメージをロードおよびキャッシュすることもできます。これは、基になるロードおよびキャッシュ クラスへの直接アクセスを提供するためです。

于 2013-03-07T09:41:54.027 に答える