Iphone 我如何知道web视图加载已完成

Iphone 我如何知道web视图加载已完成,iphone,uiwebview,Iphone,Uiwebview,我有一个网页视图,我正在加载pdf文件 pdf文件的大小为2MB,因此它需要固定时间。我想添加一个指示器 为此,我如何知道我的文件已加载到web视图中 特别是: - (void)webViewDidFinishLoad:(UIWebView *)webView 首先添加委托“UIWebViewDelegate”,然后可以使用以下方法 –webView:shouldStartLoadWithRequest:navigationType: –WebViewDidLoad: –webViewDid

我有一个网页视图,我正在加载pdf文件

pdf文件的大小为2MB,因此它需要固定时间。我想添加一个指示器

为此,我如何知道我的文件已加载到web视图中

特别是:

- (void)webViewDidFinishLoad:(UIWebView *)webView
首先添加委托“UIWebViewDelegate”,然后可以使用以下方法

–webView:shouldStartLoadWithRequest:navigationType: –WebViewDidLoad: –webViewDidFinishLoad:

–webView:didFailLoadWithError:

James p的答案是正确的(^'ed),但下面是显示和隐藏指示器的代码

在您向

然后

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
    // Other stuff...
}
此外,您可能还希望检查故障并将活动指示器隐藏在那里

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
    // Other stuff...
}

您可以使用ASIHTTPRequest下拉PDF,这将允许您设置一个显示实际进度的进度条,然后在下载后将其提供给UIWebView


编辑:ASIHTTPRequest是一个免费的第三方库,它为iOS HTTP客户端函数提供了一个改进得多的接口。这里有很多代码示例和说明:

请更具体地回答您的问题。您想知道如何在下载2 mb文件时构建指示器/进度条,还是只需要知道何时完成?我看到此委托方法在加载结束时被激发,但在渲染完成之前很久。所以请注意。是的,这是一个很好的观点,我有时会在删除活动指示器之前添加一个小延迟来解释这一点。除非有人知道如何知道渲染何时实际完成,否则我面临着同样的问题。我想在web视图加载pdf页面后在web视图上显示图像。但是没有呈现pdf的具体时间。因此,我无法添加延迟来显示图像。有没有其他方法可以确定pdf页面是否已完全呈现在web视图上。我不知道有关AsiTRequest的任何信息。您可以向我解释详细信息吗…这是什么?我怎么用这个?plz还附上了这个代码…我不知道这件事。
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
    [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;
    // Other stuff...
}