3

我有一个viewController,因为我使用了页面控件。每个页面有 4 个 imageViews。

我已经通过了 Xml 并且根据图像的数量,我得到了 pageControl 的页数,即 (NumberOfImages/4)。

我已经完成了这样的代码......

首先我获取每个图像的 url 并将它们存储在数组中..

for(int i=0;i<[Array Count];i++)
{
imgString=[NSString stringWithFormat:@"%@",[Array objectAtIndex:i]];
NSLog(@"string :%@",imgString);
NSString *abc=[imgString tringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
//NSLog(@"abc :%@",abc);

NSURL *url=[NSURL URLWithString:abc];
NSLog(@"url :%@",url);

NSData *data = [NSData dataWithContentsOfURL:url];

[ImageArray addObject:[UIImage ImageWithData:data]];
}

上面的代码需要时间从 URL 中获取图像。直到所有 r 都没有被获取,我必须等待..

所以我想在这里使用延迟加载..我已经展示了 TableView 的苹果延迟加载示例..但没有得到如何将它与分页一起使用?

所以谁能建议我为此我能做些什么?任何帮助表示赞赏..

4

1 回答 1

0

您可以为 UIImageView 类创建一个 Category 并添加一些允许您执行以下操作的方法:

从 tmp 目录中的缓存文件加载图像 - 如果找不到缓存文件,请在后台线程上从 Web 下载图像,然后将其保存到缓存中。

通过首先检查缓存文件,您可以跳过重新下载内容。

通过在后台线程上下载图像,您的应用程序在等待内容完成加载时不会滞后。

通过使用类别,您的方法将适用于您要使用的任何 UIImageView - 甚至可以在分页中使用。

我建议您研究和开发自己的解决方案,而不是在这里发布完整的代码解决方案。

祝你好运。

于 2011-07-14T10:53:07.343 回答