方法1:获取webview中scrovllview的contentsize进行设置
-(void)webViewDidFinishLoad:(UIWebView
*)webView{
CGFloat
webViewHeight=[webView.scrollView
contentSize].height;
CGRect
newFrame
=
webView.frame;
newFrame.size.height
=
webViewHeight;
webView.frame
=
newFrame;
}
方法2:执行js语句 直接获取html文档的dom高度
-(void)webViewDidFinishLoad:(UIWebView
*)webView{
CGFloat
webViewHeight=
[[webView
stringByEvaluatingJavaScriptFromString:
@"document.body.offsetHeight"]floatValue];
// CGFloat webViewHeight= [[webView
stringByEvaluatingJavaScriptFromString:
@"document.body.scrollHeight"]floatValue];
CGRect
newFrame
=
webView.frame;
newFrame.size.height
=
webViewHeight;
webView.frame
=
newFrame;
}
方法3.先将UIWebView的高度设为最小,然后再使用sizeThatFits就会返回刚好合适的大小
-(void)webViewDidFinishLoad:(UIWebView
*)webView{
CGSize
actualSize
=
[webView
sizeThatFits:CGSizeZero];
CGRect
newFrame
=
webView.frame;
newFrame.size.height
=
actualSize.height;
webView.frame
=
newFrame;
}
方法4.遍历webview子视图 获取UIWebDocumentView高度即实际高度
Objective-C
-(void)webViewDidFinishLoad:(UIWebView
*)webView{
CGFloat
webViewHeight
=
0.0f;
if
([webView.subviews
count]
>
0)
{
UIView
*scrollerView
=
webView.subviews[0];
if
([scrollerView.subviews
count]
>
0)
{
UIView
*webDocView
=
scrollerView.subviews.lastObject;
if
([webDocView
isKindOfClass:[NSClassFromString(@"UIWebDocumentView")
class]])
{
webViewHeight
=
webDocView.frame.size.height;//获取文档的高度
webView.frame=
webDocView.frame;
//更新UIWebView 的高度
}
}
}
}