UIWebView中的进度条

时间:2012-10-23 10:32:50

标签: ios cocoa uiwebview progress-bar nsurlconnection

如何确定UIWebView?的进度 几点观察: 1.要确定下载内容的进度,我们需要制作一个NSURLConnection对象并获取两次数据:一个使用UIWebView,另一个使用NSURLConnection 2.如果我们只使用NSURLConnection获取一次数据并使用该数据文本/ html加载webview,那么该数据渲染效果不佳

难点: a)由于两次获取数据可能会大大减慢进程,因此使用私有api是可行的(appstore安全吗?),如下所示:https://github.com/petr-inmite/imtwebview

b)如果我们不能,那么我们如何显示进度条?

c)还会使用NSURLConnection镜像异步下载数据UIWebView加载的进度?两次获取数据的性能有多糟糕?

有一些浏览器,如safari,dolphin正在显示进度条...有关如何执行此操作的任何想法???

1 个答案:

答案 0 :(得分:1)

使用UIWebView代表。首先将webview的委托设置为self,然后使用这些方法。在此之前创建并添加一个微调器到视图中uiwebview的进展,例如UIActivityIndicatorView *spinner

- (void)webViewDidStartLoad:(UIWebView *)localWebView {

    [ spinner performSelectorInBackground: @selector(startAnimating) withObject: nil];
}

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {

    [ spinner performSelectorInBackground: @selector(stopAnimating) withObject: nil];

}

- (void)webViewDidFinishLoad:(UIWebView *)localWebView {

    [ spinner performSelectorInBackground: @selector(stopAnimating) withObject: nil];
}