美文网首页
ios webview自适应实际内容高度4种方法

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

作者: Skylpy | 来源:发表于2017-08-12 09:07 被阅读93次

//第一种方法

- (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];

// CGFloat webViewHeight= [[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的高度

}

}

}

}

相关文章

网友评论

      本文标题:ios webview自适应实际内容高度4种方法

      本文链接:https://www.haomeiwen.com/subject/yrpdrxtx.html