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

Sor*_*ohi 2 address-bar uiwebview ios progress-bar

可能重复:
如何在加载UIWebView时使用UIProgressView?

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

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

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

joe*_*ern 5

据我所知,您无法读取加载到UIWebView中的HTML页面的进度.但是我知道你能做什么.它有点"蠢蠢欲动"但是如果在将UI页面加载到UIWebView中时显示进度条对您来说非常重要,那么您可以执行以下操作:

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

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