【问题标题】:How to indicate a webpage loading progress in a UIWebView? [duplicate]如何在 UIWebView 中指示网页加载进度? [复制]
【发布时间】:2012-02-16 09:18:24
【问题描述】:
可能重复:
How to use UIProgressView while loading of a UIWebView?
在我的应用程序中,我有一个 UIViewController,它带有一个 UIWebView 和一个工具栏作为子视图。
工具栏有一个用于地址的 UITextField。加载页面时,地址字段应指示网页的加载进度,例如 Safari 的地址栏或加载外部链接时的 iOS 版 Facebook 应用程序。
我面临的问题是我在加载时找不到显示页面进度的方法,从而使地址字段(UIText字段)填充了颜色。
有没有办法做到这一点或已经为此制作了一个组件?
【问题讨论】:
标签:
ios
uiwebview
progress-bar
address-bar
【解决方案1】:
据我所知,您无法读取加载到 UIWebView 中的 HTML 页面的进度。但是我知道你能做什么。这有点“指日可待”,但如果在将 HTML 页面加载到 UIWebView 时显示进度条对您来说真的很重要,那么您可以这样做:
- 不要将 HTML 直接加载到 UIWebView 中。首先将其加载到内存中(您可以使用ASIHTTPRequest 库非常容易地做到这一点)。
- ASIHTTPRequest 提供了一个委托方法,允许您访问请求的进度。用它来显示进度。
- 一旦 HTML 完成加载,使用
[UIWebView loadHTMLString:] 将其渲染到 UIWebView 中
正如我之前提到的,这确实非常规,但是如果您确实需要显示进度,这是我能想到的唯一方法。