当前位置:  开发笔记 > 前端 > 正文

UIWebView加载进度并调整网页以适应视图页面?

如何解决《UIWebView加载进度并调整网页以适应视图页面?》经验,为你挑选了1个好方法。

我正在使用UIWebView加载网页.

有3个问题:

1.当UIWebView加载页面时,是否可以跟踪百分比进度?

2.我注意到当Safari加载网页时,URL文本字段显示蓝色背景进度指示器,告诉用户加载网页的百分比.这是什么技术?

3.我知道有财产scalePageToFit

scalesPageToFit一个布尔值,用于确定网页是否缩放以适合视图,用户可以更改比例.

我尝试将其设置为YES,但看起来它不在公共API中,我的应用程序停止了黑屏,我不确定是什么问题?



1> Pyro2927..:

回答#1)

您可以使用NSURLConnection将网页作为NSData对象拉出,而不是使用UIWebView.当您收到来自您的请求的初始回复时

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response

Web服务器应返回"预期内容大小"的值(应包含在响应中).然后,每次收到数据时,您将继续调用以下方法:

 - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

继续将数据附加到现有的NSMutableData对象.然后,您可以根据预期的响应大小检查当前数据对象的大小(NSMutableData.length).

percentage = (myData.length*100)/theResponse.expectedContentSize;

然后,您可以使用该百分比更新进度条!什么时候

- (void)connectionDidFinishLoading:(NSURLConnection *)connection

运行,使用您的数据来打电话

[myWebView loadData:myData MIMEType:myMimeType textEncodingName:myEncoding baseURL:baseURL];

它会将您下载的所有内容加载到Web视图中.


请注意,此方法不会告诉您何时加载"整个"页面,只是第一个"index.html"文件具有.但是这个"index.html"页面可能很好地包含图像,脚本和其他资源,这些资源需要在网页被真正地视为"加载"之前加载.但真正做到这一点意味着自己解析HTML.
推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有