如何在从URL下载图像时使用UIactivityindicatorview

时间:2012-09-17 02:15:25

标签: iphone objective-c ios

在我的应用程序中,我实现了一种从URL下载图像并将其显示在TableView单元格中的方法。代码工作正常,但我还需要实现另外两个函数,

1)UIActivityIndi​​cator显示正在下载图像。 2)检查图像是否已下载。仅在单元格为空时下载。

这是我的代码。

-(void) downloadImage
{
    NSURL *url = [NSURL URLWithString:@"http://cdn.iphonehacks.com/wp-content/uploads/2012/09/iphone5-front-back.jpg"];
    UIImage *image = [[UIImage alloc] initWithData: [NSData dataWithContentsOfURL:url]];

    [dCellImageView setImage:image];

    [image release];
}

感谢。

2 个答案:

答案 0 :(得分:2)

使用[NSData dataWithContentsOfURL:URL选项:NSDataReadingMapped错误:& error]。这是一种同步方法。所以可能在发送消息之前启动activityIndi​​cator,并检查错误,然后停止activityIndi​​cator。 “细胞是空的”是什么意思?您是将图像存储在磁盘还是内存中。如果是前者,请使用NSFileManager检查文件是否存在。

答案 1 :(得分:1)

[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];

它会在状态栏的左侧显示一个指示符。如果您愿意,也可以使用MBProgressHUD

如果您想在下载之前检查图像是否已经下载,则需要在核心数据或属性列表中存储密钥。