获取UIWebView的显示内容的高度
来源:互联网 发布:php extension loaded 编辑:程序博客网 时间:2024/05/21 06:48
转载自标哥博客 http://www.huangyibiao.com/archives/1341
iOS UIWebView如何获取到内容的高度呢?我们经常会遇到项目中需要使用UIWebView来加载H5页面,但是页面的高度并不确定,而我们前端需要根据内容的高度呈现出来,且不允许webview滚动。
常见的场景可能是在cell中嵌套了UIWebview,因此需要保证取得到正确的web内容的高度才能计算出cell的准确的高度;还有可能是在tableview的header需要呈现webview加载的内容,下面才是问题列表等,这些都需要知道准确的内容高度。
解决办法
通过JS来获取高度:document.body.offsetHeight;
但是问题又来了,第一次获取到的高度可能不是正确的,比如有图片的时候,内容先加载出来了,取得的高度就不正确了。
因此,通常会调用几次,并限制次数,如果高度出现不等,说明又变化了,则需要重新构建或者更新UI!
实现代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#pragma mark - UIWebViewDelegate
-(void)webViewDidFinishLoad:(UIWebView*)webView{
CGFloatheight=[[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight;"] intValue];
if(self.webViewHeight!=height&&self.count<=3){
self.webViewHeight=height;
self.count++;
[selfupdateUI];
}
}
-(BOOL)webView:(UIWebView*)webView shouldStartLoadWithRequest:(NSURLRequest*)request navigationType:(UIWebViewNavigationType)navigationType{
self.webViewHeight=webView.scrollView.contentSize.height;
returnYES;
}
0 0
- 获取UIWebView的显示内容的高度
- 获取UIWebView的内容高度
- UIWebView的显示内容的高度
- 根据内容获取UIWebView的高度
- 获取UIWebView的内容高度(精准)
- 获取UIWebView的高度
- UIWebView 获取内容高度
- 计算 UIWebView 的内容高度
- UIWebView自适应内容的高度
- iOS 获取UIWebView的高度
- 动态获取UIWebView的高度
- UIWebView如何获取内容高度
- UIWebView如何获取内容高度
- UIWebView如何获取内容高度
- 精确计算UIWebView内容的高度
- 计算UIWebView加载网页的内容高度
- iOS-OC-获取UIWebview的高度
- 获取UIWebview的高度4种方法
- 异步FIFO的FPGA实现
- eclipse使用基础-debug的使用
- 近期面试小结
- java并发编程:线程池的使用
- Visualizing and Understanding Convolutional Networks翻译总结
- 获取UIWebView的显示内容的高度
- [译]百里挑一:21个优质Swift开源App
- 自己对shell,终端的一点理解
- java正则表达式语法详解及其使用代码实例
- 2016年8月31号
- undefined类型 null类型 区别
- 图解JS闭包
- Solr使用入门指南 (四)
- SpringMVC基本常识