我想在用户将图像保存到相机胶卷时显示UIProgressView
。
我需要知道在给定点下载了多少图像以确定进度指示器应显示的内容。我该如何确定?
我正在做类似的事情:
- (void)updateSaveProgressBar
{
if ([self.saveProgressView progress] < 1) {
self.saveProgressView.progress = (float)receivedData / (float)totalData;
[NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(updateSaveProgressBar) userInfo:nil repeats:NO];
}
}
self.saveProgressView
是UIProgressView
。在此示例中,如何确定receivedData
?
感谢。
答案 0 :(得分:0)
为了显示远程文件下载的进度,您必须使用NSURLConnection
进行异步下载,并在每次连接接收数据(connection:didReceiveData:
)时更新进度。连接成功完成后,您可以致电UIImageWriteToSavedPhotosAlbum
将图像保存到相机胶卷。此外,UIImageWriteToSavedPhotosAlbum
具有回调选择器以在保存完成时调用,您可以使用该选择器向用户显示下载和保存图像的所有过程都已完成。
UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
完成选择器
- (void) image: (UIImage *) image
didFinishSavingWithError: (NSError *) error
contextInfo: (void *) contextInfo
{
}
祝你好运!