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

标签 ios uiwebview progress-bar address-bar

Possible Duplicate:
How to use UIProgressView while loading of a UIWebView?

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

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

有什么办法可以做到这一点或者已经为此制作了组件吗?

最佳答案

据我所知,您无法读取 HTML 页面加载到 UIWebView 中的进度。不过我知道你可以做什么。这有点“指日可待”,但如果在将 HTML 页面加载到 UIWebView 时显示进度条对您来说非常重要,那么您可以执行以下操作:

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

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

关于ios - 如何在 UIWebView 中指示网页加载进度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9308441/

相关文章:

ios - base64EncodedString 返回不需要的反斜杠

ios - SpriteKit 游戏在 AppDelegate 中花费大量时间

css - 如何使用 Twitter Bootstrap 创建内部带有白色(透明)颜色的堆叠进度条?

android - 分段进度条android

ios - 在表格 View 编辑模式下修改重新排序控件图标

swift - 在其他Viewcontroller中加载UIWebView URL

iphone - UIWebView scalesPageToFit 不会缩放页面

iPhone:如何阻止App(或UIWebView)访问网络/web

ios - UIWebView 中的进度条

ios - tableView中的两种类型的单元格-优雅