如何在iPhone应用程序中显示PDF下载进度条

时间:2014-01-17 05:42:35

标签: ios iphone objective-c pdf progress-bar

我正在我的应用程序中下载PDF文件,我想在PDF下载开始时显示下载进度条,我搜索了这个但没有得到任何有用的教程或答案,任何人都可以告诉我任何链接或教程吗?请帮助我,提前致谢。

4 个答案:

答案 0 :(得分:0)

您可以使用NSURLConnection(here's an example)来获取远程文件。在收到数据时,会随着进度调用NSURLConnectionDataDelegate

为了估计进度,您需要知道(或估计)下载文件中的字节数。

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
    // allocate mutable responseData when connection didReceiveResponse
    [self.responseData appendData:data];

    float progress = self.responseData.length / self.expectedLength;
    // this is the percentage progress
}

答案 1 :(得分:0)

您可以使用此链接下载带有进度指示器的pdf:

https://github.com/Infusion-apps/Download-Manager

答案 2 :(得分:0)

即使在队列中下载多个PDF文件,您也可以点击此链接显示PDF下载进度。我的意思是您不仅可以显示单个PDF文件的下载进度状态,还可以显示应用程序中多个下载PDF文件的下载进度状态: http://allseeing-i.com/ASIHTTPRequest/How-to-use

答案 3 :(得分:0)

您可以使用AFHTTPRequestOperation获取远程文件, 为了取得进展,你可以试试这段代码:

这将显示进度视图中的进度。

 [httpClient enqueueBatchOfHTTPRequestOperations:tempOperations
                                  progressBlock:^(NSUInteger numberOfCompletedOperations, NSUInteger totalNumberOfOperations) {

                                    float  progressValue=(float)numberOfCompletedOperations/(float)totalNumberOfOperations;
                                      NSLog(@"%f", progressValue);
                                      NSLog(@"%d / %d", numberOfCompletedOperations, totalNumberOfOperations);

                                      [progressValueLabel setText:[NSString stringWithFormat:@"%.0f%%", (progressValue * 100)]];
                                      [progressView setProgress:progressValue];
                                  }
                                    completionBlock:nil];