在 UIWebView 中使用进度条?

Posted

技术标签:

【中文标题】在 UIWebView 中使用进度条?【英文标题】:Use progress bar in UIWebView? 【发布时间】:2011-08-29 02:05:55 【问题描述】:

是否可以在加载网页时使用带有 UIWebView 的进度条,就像 Safari 在地址栏中所做的那样?我读到您需要使用 Apple 不允许的私有 API,但这似乎不对……您无法检测页面的大小并根据下载量更新进度条?

【问题讨论】:

【参考方案1】:

对于这种事情,您只能通过使用Content-Length 标头来真正“检测”页面大小,但否则您仍然可以显示加载控件(例如不显示离散百分比进度,但表明活动正在发生......甚至只是UIActivityIndicator)。您也可以尝试像ASIWebPageRequest 这样的现成课程,它可以显示进度。作者表示:

ASIWebPageRequests 当前不支持使用外部资源对整个请求进行进度跟踪。但是,来自外部资源请求的进度更新会传递给您的委托,因此您可以通过一些工作自行实现。

【讨论】:

【参考方案2】:

如果您是浏览器,那么您可以访问初始 HTTP 响应的 Content-Length 响应标头。然后,您可能还决定将通过 javascript、图像等传入的任何子请求的结果添加到这个大小。

MobileSafari 最终可以判断每个请求的大小,将它们全部加起来,然后向您提供有关整体下载进度的信息。

不确定您要做什么,但他们就是这样做的。

【讨论】:

以上是关于在 UIWebView 中使用进度条?的主要内容,如果未能解决你的问题,请参考以下文章

Swift 中的进度条 WebView

关于VB.NET中进度条使用问题

长按如何使进度条变化Android

VB怎么制作进度条?

android 怎么自定义绘制如下图中这种进度条

delphi xe android 更改ProgressBar1进度条颜色