iOS Webview自适应实际内容高度的4种方法详解
//第一种方法
-(void)webViewDidFinishLoad:(UIWebView*)webView
{
CGFloatwebViewHeight=[webView.scrollViewcontentSize].height;
CGRectnewFrame=webView.frame;
newFrame.size.height=webViewHeight;
webView.frame=newFrame;
_webTablewView.contentSize=CGSizeMake(320,newFrame.size.height+64+KWIDTH-100);
}
//2.执行js语句直接获取html文档的dom高度
-(void)webViewDidFinishLoad:(UIWebView*)webView{
CGFloatwebViewHeight=[[webViewstringByEvaluatingJavaScriptFromString:@document.body.offsetHeight]floatValue];
//CGFloatwebViewHeight=[[webViewstringByEvaluatingJavaScriptFromString:@document.body.scrollHeight]floatValue];
CGRectnewFrame=webView.frame;
newFrame.size.height=webViewHeight;
webView.frame=newFrame;
}
//方法3.先将UIWebView的高度设为最小,然后再使用sizeThatFits就会返回刚好合适的大小
-(void)webViewDidFinishLoad:(UIWebView*)webVie{
CGSizeactualSize=[webViewsizeThatFits:CGSizeZero];
CGRectnewFrame=webView.frame;
newFrame.size.height=actualSize.height;
webView.frame=newFrame;
}
//方法4.遍历webview子视图获取UIWebDocumentView高度即实际高度
-(void)webViewDidFinishLoad:(UIWebView*)webView{
CGFloatwebViewHeight=0.0f;
if([webView.subviewscount]>0)
{
UIView*scrollerView=webView.subviews[0];
if([scrollerView.subviewscount]>
0)
{
UIView*webDocView=scrollerView.subviews.lastObject;
if([webDocViewisKindOfClass:[NSClassFromString(@UIWebDocumentView)class]])
{
webViewHeight=webDocView.frame.size.height;//获取文档的高度
webView.frame=webDocView.frame;
//更新UIWebView的高度
}
}
}
}
以上所述是小编给大家介绍的iOSWebview自适应实际内容高度的4种方法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!