如何在UIWebView中指示网页加载进度?

时间:2012-02-16 09:18:24

标签: ios uiwebview progress-bar address-bar

  

可能重复:
  How to use UIProgressView while loading of a UIWebView?

在我的应用程序中,我有一个带有UIWebView的UIViewController和一个工具栏作为子视图。 工具栏有一个UITextField用于地址。加载页面时,地址字段应指示加载外部链接时,网页的加载进度,如Safari的地址栏或iOS的Facebook应用程序。

我遇到的问题是我无法找到一种方法来显示加载时页面的进度,使地址字段(UIText字段)填充颜色。

有没有办法做到这一点或已经为此制作的组件?

1 个答案:

答案 0 :(得分:5)

据我所知,您无法读取加载到UIWebView中的HTML页面的进度。但是我知道你能做什么。它有点“蠢蠢欲动”,但是如果在将HTML页面加载到UIWebView中时显示进度条对您来说真的很重要,那么您可以这样做:

  1. 不要将HTML直接加载到UIWebView中。首先将其加载到内存中(您可以使用ASIHTTPRequest库来轻松实现)。
  2. ASIHTTPRequest提供了一种委托方法,允许您访问请求的进度。用它来显示进度。
  3. HTML完成加载后,使用[UIWebView loadHTMLString:]
  4. 将其呈现到UIWebView中

    正如我之前提到的,这真的非常规,但如果你真的需要显示进度,那么这是我能想到的唯一方法。