在加载网页时是否可以使用带有UIWebView的进度条,就像Safari在地址栏中所做的那样?我读到你需要使用Apple不允许使用的私有API,但这似乎不正确......你无法检测到页面有多大并且下载量更新进度条?
答案 0 :(得分:2)
对于这种情况,您只能通过使用Content-Length
标题来“检测”页面大小,但是否则您仍然可以提供加载控件(就像其中一个移动的斑马线类型条没有显示离散的%进度但显示活动正在发生..甚至只是UIActivityIndicator
)。您也可以尝试像ASIWebPageRequest
这样的现成课程,它可以显示进度。作者说:
ASIWebPageRequests目前不支持使用其外部资源对整个请求进行进度跟踪。但是,来自外部资源请求的进度更新会传递给您的代理,因此可以通过一些工作自行实现。
答案 1 :(得分:1)
如果您是浏览器,那么您可以访问初始HTTP响应的Content-Length
响应标头。然后你也可能决定通过JavaScript,图像等来增加任何子请求的结果。
MobileSafari最终可以告诉每个请求有多大,将它们全部添加,然后向您提供有关整体下载进度的信息。
不确定你要做什么,但这就是他们完成它的方式。