iOS 获取 webView 加载完成后的高度
iOS webView 加载HTML5获取加载后的高度
奇葩的事儿很多,比如这样 下边的图文详情 数据来源有些复杂是一些HTML字符串 ,我们需要用webview加载这些字符串 获取最终webView的高度。因为此视图需要加载到tableView的cell上 ,所以需要在获取到webView的高度后 重新刷新tableView 。
废话说完了 以下是找到对于我这个项目最有效的方法:
-
(void)webViewDidFinishLoad:(UIWebView *)webView
{
//HTML5的高度
NSString *htmlHeight = [webView stringByEvaluatingJavaScriptFromString:@”document.body.scrollHeight”];
//HTML5的宽度
NSString *htmlWidth = [webView stringByEvaluatingJavaScriptFromString:@”document.body.scrollWidth”];
//宽高比
float i = [htmlWidth floatValue]/[htmlHeight floatValue];//webview控件的最终高度
float height = screenWidth/i;//后面的代码
//重新设置webView的高度,刷新tableView 设置cell的高度
_tuwenWeb.frame = CGRectMake(0, 0, self.view.frame.size.width, height);
[self.tableView reloadData];
。。。。。。
}
//设置cell的高度
- (CGFloat)tableView:(UITableView )tableView heightForRowAtIndexPath:(NSIndexPath )indexPath
{
return _tuwenWeb.scrollView.contentSize.height;
}
以上是根据搜到的方法 ,针对我的项目做得调整,希望可以帮到有同样需求的码农。
转载博客链接http://blog.****.net/autom_lishun/article/details/78424210