您的位置:首页 > 移动开发

ios webview自适应实际内容高度4种方法

2015-08-20 23:20 579 查看
//第一种方法
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
CGFloat webViewHeight=[webView.scrollView
contentSize].height;

CGRect newFrame = 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];

// CGFloat webViewHeight= [[webViewstringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"]floatValue];
CGRectnewFrame = webView.frame;
newFrame.size.height= webViewHeight;
webView.frame= newFrame;
}
//方法3.先将UIWebView的高度设为最小,然后再使用sizeThatFits就会返回刚好合适的大小
-(void)webViewDidFinishLoad:(UIWebView*)webVie{

CGSize actualSize = [webView
sizeThatFits:CGSizeZero];

CGRect newFrame = webView.frame;
newFrame.size.height = actualSize.height;
webView.frame = newFrame;
}
//方法4.遍历webview子视图 获取UIWebDocumentView高度即实际高度

-(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
的高度
}

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: