我从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;
}
请指导上述内容,如果不清楚,请随时询问。 提前谢谢。
答案 0 :(得分: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加载和缓存图像,因为它提供了对底层加载和缓存类的直接访问。
答案 1 :(得分:0)
使用它。这是滚动时显示图像的完美方式: https://github.com/enormego/EGOImageLoading