我正在使用UIWebView加载网页.
有3个问题:
1.当UIWebView加载页面时,是否可以跟踪百分比进度?
2.我注意到当Safari加载网页时,URL文本字段显示蓝色背景进度指示器,告诉用户加载网页的百分比.这是什么技术?
3.我知道有财产scalePageToFit
scalesPageToFit一个布尔值,用于确定网页是否缩放以适合视图,用户可以更改比例.
我尝试将其设置为YES,但看起来它不在公共API中,我的应用程序停止了黑屏,我不确定是什么问题?
回答#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视图中.