怎样获取UIWebView 的文字的高度
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;
下面贴一段代码吧
- - (void)webViewDidFinishLoad:(UIWebView *)webView
- {
- CGFloat webViewHeight = 0.0f;
- if (webView.subviews.count > 0)
- {
- UIView *scrollerView = [webView.subviews objectAtIndex: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 的高度
- aScrollView.contentSize=CGSizeMake(485, 240+webViewHeight);//调整底层的contensize 的大小
- }
- }
- }
- }
记得在头文件里加入 <UIWebViewDelegate>,在设置 webView.delegate =self;
去了解控件的组织架构,必要的时刻也是很又用的 。
转载于:https://blog.51cto.com/285746555/672306
怎样获取UIWebView 的文字的高度相关推荐
- android字高度充满textview,TextView文字实际高度分析
问题 做Android开发的人都知道怎么设置文字高度: 1 2 3 4 5 6 android:layout_width="wrap_content" android:layout ...
- Android 开发 Activity里获取View的宽度和高度 转载
Android 开发 Activity里获取View的宽度和高度 转载 原文地址:https://blog.csdn.net/chenbaige/article/details/77991594 前言 ...
- html如何制作查看更多横条,页面浏览量顶部横条显示代码-附“Js/Jquery获取网页屏幕可见区域高度”...
偶然看到这个页面浏览量显示的东东,很有意思,自己做了一个. 代码如下:html> 页面浏览量顶部横条显示 $(function(){ $(window).scroll(function() { ...
- 获取滚动条距离底部的高度
今天写移动端遇到了需求要获取滚动条距离底部的高度 var wHeight = $(document).height();var scrollHeight = wHeight - $(document) ...
- js 和 query 获取页面和滚动条的高度
//页面位置及窗口大小 function GetPageSize() { var scrW, scrH; if(window.innerHeight && window.scrollM ...
- php获取页面的可视内容高度,网页制作技巧:获取页面可视区域的高度_css
文章简介:获取页面可视区域高度,获取页面高度,获取滚动条滚动上去的页面高度. function getWH(){ var wh = {}; "Height Width".repla ...
- Andorid与webView交互,获取webView选中文字,兼容了iframe
js调试效果: 下面主要是拼装js代码 : /** * @Description 获取webView选中文字内容 * @param webView* @param callBack*/public s ...
- c# webbrowser 获取用户选中文字
c# webbrowser 获取用户选中文字 原文:c# webbrowser 获取用户选中文字 最近一直被一个问题困扰,有一个文本框,一个webbrowser控件,一个上下文菜单, 用户用鼠标左 ...
- [js] 获取浏览器当前页面的滚动条高度的兼容写法
[js] 获取浏览器当前页面的滚动条高度的兼容写法 document.documentElement.scrollTop || document.body.scrollTop; 个人简介 我是歌谣,欢 ...
最新文章
- 三极管共射、共集、共基分析及比较
- [c++] volatile关键字
- 配置hibernate根据实体类自动建表功能
- day69 Django--Form组件
- 是单向链表吗_一步一步教你从零开始写C语言链表
- HTML多选框滚动条,08:HTMLayout 自定义滚动条样式
- eventemitter_节点JS事件模块和EventEmitter
- libqrencode 3.4.3 发布,二维码的C解析库
- HTML5生日祝福网页代码【粉色生日快乐模板】HTML+CSS+JavaScript
- 深度学习笔记:随机种子的作用
- 用java类和对象写一个简单的回合制对战游戏
- 情感分类介绍及发展方向
- 1415-2团队博客汇总表
- r语言绘制精美pcoa图_[R语言 学习笔记]用R做主坐标分析(PCoA)
- 异常:java.lang.LinkageError: loader constraint violation: when resolving interface method javax.servl
- android仿微信拍摄视频教程,仿微信视频拍摄UI, 基于ffmpeg的视频录制编辑(上)
- jQuery遍历对象/数组/集合
- 《CS:GO》玩家快看,英特尔显卡驱动更新,帧率提升超两倍!
- Allegro Shape菜单详解
- 【Optimizaition/x86】Intel CPU的CPUID指令获取的C实现
热门文章
- linux可以修改日期格式吗,如何在Linux中使用date命令修改日期时间
- 史上最全的键盘快捷键
- 从AI打王者荣耀到自动驾驶,高通一口气公布了5G+AI未来的无数种可能
- 特斯拉Model Y发布,售价3.9万美元起,马斯克:年底实现全自动驾驶
- MIT深度学习课堂开课啦,自动驾驶圈大牛排队来讲课丨资源
- 最强CNN语音识别算法开源了:词错率5%,训练超快,Facebook出品
- 开源软件史上最大收购案!IBM340亿美元收购Linux分销商Red Hat
- 专栏 | 是什么成就了中国最具创新力的公司,帮他们的超脑计划孵出阿尔法蛋?...
- 潘建伟团队再次刷新世界纪录:实现18个光量子比特纠缠
- 【leetcode】1053. Previous Permutation With One Swap