本文转载至 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);