/////////////////////////////初始化,self.view是父控件/////////////////////////////////_webView = [[UIWebView alloc] initWithFrame: CGRectMake(0,0, self.view.frame.size.width,0)];
_webView.delegate=self;
_webView.scrollView.bounces=NO;
_webView.scrollView.showsHorizontalScrollIndicator=NO;
_webView.scrollView.scrollEnabled=NO;[_webView sizeToFit];
///////////////////////////////设置内容,这里包装一层div,用来获取内容实际高度(像素),htmlcontent是html格式的字符串//////////////NSString * htmlcontent = [NSString stringWithFormat:@"
%@", htmlcontent];[_webView loadHTMLString:htmlcontent baseURL:nil];////////////////////////////////delegate的方法重载////////////////////////////////////////////- (void)webViewDidFinishLoad:(UIWebView *)webView
{//获取页面高度(像素)
NSString * clientheight_str = [webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"];floatclientheight =[clientheight_str floatValue];
//设置到WebView上
webView.frame = CGRectMake(0,0, self.view.frame.size.width, clientheight);//获取WebView最佳尺寸(点)CGSize frame =[webView sizeThatFits:webView.frame.size];
//获取内容实际高度(像素)
NSString * height_str= [webView stringByEvaluatingJavaScriptFromString:@"document.getElementById('webview_content_wrapper').offsetHeight + parseInt(window.getComputedStyle(document.getElementsByTagName('body')[0]).getPropertyValue('margin-top')) + parseInt(window.getComputedStyle(document.getElementsByTagName('body')[0]).getPropertyValue('margin-bottom'))"];
floatheight =[height_str floatValue];
//内容实际高度(像素)* 点和像素的比
height = height * frame.height /clientheight;
//再次设置WebView高度(点)
webView.frame = CGRectMake(0,0, self.view.frame.size.width, height);
}
iOS webView自适应内容高度(完美版)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- NSString * clientheight_str = [webView stringByEvaluating...
- UITableView的Group样式下顶部空白处理分组列表头部空白处理UIView*view = [[UIVie...
