我是 iOS 开发的新手,所以请多多包涵。我正在使用表格视图和滚动视图制作照片网格。我的问题是如何加载活动指示器,直到从服务器下载图像然后显示图像并删除活动指示器?
我试图远离第三方库,因为我想了解它是如何工作的。
我是 iOS 开发的新手,所以请多多包涵。我正在使用表格视图和滚动视图制作照片网格。我的问题是如何加载活动指示器,直到从服务器下载图像然后显示图像并删除活动指示器?
我试图远离第三方库,因为我想了解它是如何工作的。
在您的视图上放置一个活动指示器(通过 Interface Builder 或手动)。将属性设置为“不制作动画时隐藏”。
在进行服务器调用时,调用 [activityIndicator startAnimating](IBOutlet 属性)。当返回实际图像时,调用[activityIndicator stopAnimating]。停止时会自动隐藏。
您还可以使用 iPhone/Pad 状态栏中的活动指示器。为此,请使用 [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; 设置为 NO 以隐藏它......(显然)
查看下载图像异步以获取图像的示例。您将在 didReceiveData 函数中停止活动指示器。
在这里,您可以找到可用于下载图像的 JMImage 缓存文件。
你必须改变 UIImageView+JMImageCache.m 文件
if(i) {
dispatch_async(dispatch_get_main_queue(), ^{
safeSelf.jm_imageURL = nil;
safeSelf.image = i;
[safeSelf setNeedsLayout];
[safeSelf setNeedsDisplay];
if (completionBlock) {
completionBlock(i).
}
});
然后使用方法
enter code here
{
[yourImageView setImageWithURL:[NSURL URLWithString:urlString] placeholder:[UIImage imageNamed:@"placeholder"] completionBlock:^(UIImage *image) { // 移除此处添加的活动指示器
}failureBlock:^(NSURLRequest *req,NSURLResponse *resp,NSError *error)
{
// show error message
}];
}