iOS UIWebView 获取内容实际高度,关闭滚动效果

时间:2023-03-08 17:27:22

本文转载至 http://my.oschina.net/Khiyuan/blog/341535

iOS UIWebView 获取内容实际高度,关闭滚动效果

近期做东西,将 UIWebView 嵌套在 UIScrollView 里,由 UISCrollView 控制滚动,需要使 UIWebView 的高度同内容高度一致,网上搜索的到代码:

<!-- lang: cpp -->
htmlHeight = [webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"];

这段代码是无效的,body 获取到的 offsetHeight,为显示区域的高度,因此修改为:

<!-- lang: cpp -->
htmlHeight = [webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"];

scrollHeight 为网页内容的实际高度。 
之后,自然需要关闭 UIWebView 的滚动效果,否则将会影响整体页面滚动,代码如下:

<!-- lang: cpp -->
UIScrollView *tempView=(UIScrollView *)[webView.subviews objectAtIndex:0];
tempView.scrollEnabled=NO;

修改 UIScrollView的内容高度。

<!-- lang: cpp -->
scrollView.contentSize = CGSizeMake(width, height);