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种方法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!