0

我从 json 中获取图像并将所有图像 url 放入数组中,而不是再次调用 json。现在我不知道如何设置它在表格滚动时加载图像的条件。这是我为此调用的方法。

+ (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

use this. It is perfect way to show images while scrolling: 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 包括 UIImageView 上的一个简单类别,用于在 iOS 上异步加载和显示图像,以便它们不会锁定 UI,以及用于更高级功能的 UIImageView 子类。AsyncImageView 与 URL 一起使用,因此它可以与本地或远程文件一起使用。

加载/下载的图像缓存在内存中,并在出现内存警告时自动清理。AsyncImageView 独立于 UIImage 缓存运行,但默认情况下,位于应用程序包根目录中的任何图像都将存储在 UIImage 缓存中,以避免缓存图像的任何重复。

该库还可用于独立于 UIImageView 加载和缓存图像,因为它提供对底层加载和缓存类的直接访问。

于 2013-03-07T09:41:54.027 回答