1最近自己给记搞了个新问题,一段文字是富文本,有很多的复杂的格式,大写,换行,加粗等等,所以必须用uiwenbview 上来加载html 文件来是这样的功能,但是效果要做的又要像用textview 的一样,即感觉是放在一个textview 上的,但是还有图片和视频,而且这个视频必须在必要的时候可以关掉,这样就想出了一个用uiwebview +uibutton +uiscrollview 来实现这样的功能。

2 问题是uiscrollview  是可以滚动的,uiwebview  也是要滚动的,当uiwebView 在uiscrollview 上面的时候 时不好滚动的,当不能完全显示自己的文字的时候交互特别的不好,所以要一下计算出uiwebview 的实际大小,然后设置其正确 的frame,在然后动态的改变uiscrollview 的contentsize  实现类似textview效果

3 难点是怎样计算要加载的html 文件的大小,研究会发现uiwebview 是有个代理的

- (void)webViewDidFinishLoad:(UIWebView *)webView

可以在加载成功数据之后在里面判断html  的高度和宽度,然后调整uiwebview 的大小

那么怎样获得这个大小呢,改变大小的时机找到了,最关键的问题又回来了。

4uiwebView 的布局结构

它的上面会放一个UIWebDocumentView 我们可以获得这个的大小,然后将它传回,在设置uiwebView 的大小 frame;

下面贴一段代码吧

  1. - (void)webViewDidFinishLoad:(UIWebView *)webView
  2. {
  3. CGFloat webViewHeight = 0.0f;
  4. if (webView.subviews.count > 0)
  5. {
  6. UIView *scrollerView = [webView.subviews objectAtIndex:0];//为什么要取第一个?
  7. if (scrollerView.subviews.count > 0)
  8. {
  9. UIView *webDocView = scrollerView.subviews.lastObject;
  10. if ([webDocView isKindOfClass:[NSClassFromString(@"UIWebDocumentView") class]])
  11. {
  12. webViewHeight = webDocView.frame.size.height;//获取文档的高度
  13. webView.frame= webDocView.frame; //更新UIWebView 的高度
  14. aScrollView.contentSize=CGSizeMake(485, 240+webViewHeight);//调整底层的contensize 的大小
  15. }
  16. }
  17. }
  18. }

记得在头文件里加入 <UIWebViewDelegate>,在设置  webView.delegate =self;

去了解控件的组织架构,必要的时刻也是很又用的 。

转载于:https://blog.51cto.com/285746555/672306

怎样获取UIWebView 的文字的高度相关推荐

  1. android字高度充满textview,TextView文字实际高度分析

    问题 做Android开发的人都知道怎么设置文字高度: 1 2 3 4 5 6 android:layout_width="wrap_content" android:layout ...

  2. Android 开发 Activity里获取View的宽度和高度 转载

    Android 开发 Activity里获取View的宽度和高度 转载 原文地址:https://blog.csdn.net/chenbaige/article/details/77991594 前言 ...

  3. html如何制作查看更多横条,页面浏览量顶部横条显示代码-附“Js/Jquery获取网页屏幕可见区域高度”...

    偶然看到这个页面浏览量显示的东东,很有意思,自己做了一个. 代码如下:html> 页面浏览量顶部横条显示 $(function(){ $(window).scroll(function() { ...

  4. 获取滚动条距离底部的高度

    今天写移动端遇到了需求要获取滚动条距离底部的高度 var wHeight = $(document).height();var scrollHeight = wHeight - $(document) ...

  5. js 和 query 获取页面和滚动条的高度

    //页面位置及窗口大小 function GetPageSize() { var scrW, scrH; if(window.innerHeight && window.scrollM ...

  6. php获取页面的可视内容高度,网页制作技巧:获取页面可视区域的高度_css

    文章简介:获取页面可视区域高度,获取页面高度,获取滚动条滚动上去的页面高度. function getWH(){ var wh = {}; "Height Width".repla ...

  7. Andorid与webView交互,获取webView选中文字,兼容了iframe

    js调试效果: 下面主要是拼装js代码 : /** * @Description 获取webView选中文字内容 * @param webView* @param callBack*/public s ...

  8. c# webbrowser  获取用户选中文字

    c# webbrowser  获取用户选中文字 原文:c# webbrowser  获取用户选中文字 最近一直被一个问题困扰,有一个文本框,一个webbrowser控件,一个上下文菜单, 用户用鼠标左 ...

  9. [js] 获取浏览器当前页面的滚动条高度的兼容写法

    [js] 获取浏览器当前页面的滚动条高度的兼容写法 document.documentElement.scrollTop || document.body.scrollTop; 个人简介 我是歌谣,欢 ...

最新文章

  1. 三极管共射、共集、共基分析及比较
  2. [c++] volatile关键字
  3. 配置hibernate根据实体类自动建表功能
  4. day69 Django--Form组件
  5. 是单向链表吗_一步一步教你从零开始写C语言链表
  6. HTML多选框滚动条,08:HTMLayout 自定义滚动条样式
  7. eventemitter_节点JS事件模块和EventEmitter
  8. libqrencode 3.4.3 发布,二维码的C解析库
  9. HTML5生日祝福网页代码【粉色生日快乐模板】HTML+CSS+JavaScript
  10. 深度学习笔记:随机种子的作用
  11. 用java类和对象写一个简单的回合制对战游戏
  12. 情感分类介绍及发展方向
  13. 1415-2团队博客汇总表
  14. r语言绘制精美pcoa图_[R语言 学习笔记]用R做主坐标分析(PCoA)
  15. 异常:java.lang.LinkageError: loader constraint violation: when resolving interface method javax.servl
  16. android仿微信拍摄视频教程,仿微信视频拍摄UI, 基于ffmpeg的视频录制编辑(上)
  17. jQuery遍历对象/数组/集合
  18. 《CS:GO》玩家快看,英特尔显卡驱动更新,帧率提升超两倍!
  19. Allegro Shape菜单详解
  20. 【Optimizaition/x86】Intel CPU的CPUID指令获取的C实现

热门文章

  1. linux可以修改日期格式吗,如何在Linux中使用date命令修改日期时间
  2. 史上最全的键盘快捷键
  3. 从AI打王者荣耀到自动驾驶,高通一口气公布了5G+AI未来的无数种可能
  4. 特斯拉Model Y发布,售价3.9万美元起,马斯克:年底实现全自动驾驶
  5. MIT深度学习课堂开课啦,自动驾驶圈大牛排队来讲课丨资源
  6. 最强CNN语音识别算法开源了:词错率5%,训练超快,Facebook出品
  7. 开源软件史上最大收购案!IBM340亿美元收购Linux分销商Red Hat
  8. 专栏 | 是什么成就了中国最具创新力的公司,帮他们的超脑计划孵出阿尔法蛋?...
  9. 潘建伟团队再次刷新世界纪录:实现18个光量子比特纠缠
  10. 【leetcode】1053. Previous Permutation With One Swap