方法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];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高度即实际高度

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

转载于:https://www.cnblogs.com/anyezhuixing/p/4866937.html

iOS webview自适应实际内容高度的4种方法相关推荐

  1. ios 获取html的高度,iOS Webview自适应实际内容高度的4种方法详解

    //第一种方法 - (void)webViewDidFinishLoad:(UIWebView *)webView { CGFloat webViewHeight=[webView.scrollVie ...

  2. 微信小程序的swiper轮播图中的图片设置自适应高度的一种方法

    微信小程序的swiper轮播图中的图片设置自适应高度的一种方法 小程序中的轮播图很简单,但是唯一的缺陷就是 swiper 是固定的150px 高度(320px 宽度),这样如果传入的图片大于这个高度就 ...

  3. java script特效_通过JavaScript特效控制内容展示的11种方法

    通过JavaScript特效控制内容展示的11种方法 交互信息结构是一个交互式用户界面所需要完成的首要任务.更直观的布局结构设计,能使用户更好的理解内容.以下是百分网小编搜索整理的通过JavaScri ...

  4. CSS总结div中的内容垂直居中的四种方法

    一.行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如: p { height:30px; line-height:3 ...

  5. HTML总结div中的内容垂直居中的五种方法

    一.行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如: p { height:30px; line-height:3 ...

  6. CSS总结div中的内容垂直居中的五种方法

    一.行高(line-height)法 如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如: p { height:30px; line-height:3 ...

  7. android获得一个view的高度,Android ViewTreeObserver使用总结及获得View高度的几种方法...

    ViewTreeObserver 注册一个观察者来监听视图树,当视图树的布局.视图树的焦点.视图树将要绘制.视图树滚动等发生改变时,ViewTreeObserver都会收到通知,ViewTreeObs ...

  8. iOS : 通过路径读取文件的几种方法

    //第一种方法: NSFileManager实例方法读取数据 NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDesktopDirecto ...

  9. IOS 点击空白处隐藏键盘的几种方法

    IOS7 点击空白处隐藏键盘的几种方法 IOS开发中经常要用到输入框,默认情况下点击输入框就会弹出键盘,但是必须要实现输入框return的委托方法才能取消键盘的显示,对于用户体验来说很不友好,我们可以 ...

最新文章

  1. ntpdate[31915]: the NTP socket is in use, exiting
  2. AjaxPro2在Asp.net中的基本用法
  3. Ardino基础教程 22_PS2摇杆
  4. MFC 基础知识:对话框背景添加图片和按钮Button添加图片
  5. 面试官问:JS的继承
  6. 都9012了,这几个公众号你还没关注?
  7. web开发发送短信实现最简单的接口
  8. 查询oracle表空间有什么数据,oracle查询表空间使用情况与查询有哪些数据库实例在运行...
  9. opencl JAVA编程_《OpenCL异构并行编程实战》第十二至十四章
  10. PHP中的++和--
  11. gephi java教程_简明gephi指导教程.pdf
  12. Pipeline aborted due to error
  13. 深入理解C#面向对象之继承
  14. Gensim介绍以及实践
  15. 测试开发工程师成长心路
  16. uboot什么意思(uboot fastboot)
  17. Zabbix unreachable poller processes more than 75% busy
  18. JavaWeb项目 学生后台管理系统 有源码!!(基于MVC设计模式)
  19. html5怎么做相册影集,照片制作视频软件|狸窝照片制作视频软件 如何用照片制作视频...
  20. Laplace(拉普拉斯)先验与L1正则化

热门文章

  1. 去掉thinktime查看响应时间的方法
  2. butter滤波器是iir吗_如何快速设计应用一个IIR滤波器
  3. php5.6 mysql nginx_nginx1.10.3+php5.6+mysql5.7.0
  4. 基于Netty的RPC框架
  5. ToPILImage
  6. php mysql 导出到excel,php mysql数据导出到excel文件
  7. 怎么学好MYSQL的查和改_mysql学习【第3篇】:数据库之增删改查操作
  8. 异常检测2——PCA异常检测
  9. 解决maven项目jdbc报错:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
  10. pytorch构造可迭代的DataLoader,动态流式读取数据源,不担心内存炸裂(pytorch Data学习三)