iOS: 计算 UIWebView 的内容高度

本文转载至 http://www.cnblogs.com/ihojin/p/webview-contentheight.html

 

先是 html 文件内容

加载 html 文件

复制代码
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    NSBundle *mainBundle = [NSBundle mainBundle];
    NSURL *indexFileURL = [mainBundle URLForResource:@"index" withExtension:@"html"];
    [self.webView loadRequest:[NSURLRequest requestWithURL:indexFileURL]];
}
复制代码

计算 webView 显示内容后实际高度

两种方法,方法1可以得到内容的实际高度,方法2得到了将内容显示完整后的 webView 的尺寸(包含 UIEdgeInsets)

复制代码
- (void)webViewDidFinishLoad:(UIWebView *)wb
{
    //方法1
    CGFloat documentWidth = [[wb stringByEvaluatingJavaScriptFromString:@"document.getElementById('content').offsetWidth"] floatValue];
    CGFloat documentHeight = [[wb stringByEvaluatingJavaScriptFromString:@"document.getElementById(\"content\").offsetHeight;"] floatValue];
    NSLog(@"documentSize = {%f, %f}", documentWidth, documentHeight);
    
    //方法2
    CGRect frame = wb.frame;
    frame.size.width = 768;
    frame.size.height = 1;

//    wb.scrollView.scrollEnabled = NO;
    wb.frame = frame;
    
    frame.size.height = wb.scrollView.contentSize.height;
    
    NSLog(@"frame = %@", [NSValue valueWithCGRect:frame]);
    wb.frame = frame;
}
复制代码

截图:

转载于:https://www.cnblogs.com/Camier-myNiuer/p/4447910.html

a1311010193
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS中精确计算WebView高度的方法示例
01-04
前言 在开发app的过程中难免会遇到将webView加载到tableView的cell上的需求,一般遇到这种问题,通常想到的思路就是在webView的回调方法webViewDidFinishLoad中获取到webView高度,刷新tableView,将高度赋值给tableView的回调方法heightForRow。看似没有任何问题,但是在实际操作的时候却发现得到的高度并不是webView的实际高度,显然这种方法是行不通的。其实并不是方法不行,而是webViewDidFinishLoad代理方法被调用时,页面并不一定完全展现完成,可能有图片还未加载出来,导致此时获取的高度是并不是最终高度,过会
iOS WKWebViewUIWebView自适应高度
04-26
iOS应用开发中,UIWebView和WKWebView是两种常见的用于展示网页内容的控件。它们允许开发者在原生应用中嵌入HTML、CSS和JavaScript代码,实现丰富的交互体验。本篇文章将深入探讨如何在iOS应用中,特别是针对...
iOS计算UIWebView高度iOS8之后…
克莱斯勒的博客
04-06 207
当我们涉及到webView和纯代码结合的时候,例如一个资讯详情,其它位置想加上我们的纯代码控件,可以计算webView高度,然后放到scrollView上,然后在scrollView下边或者什么位置,加上自己的纯代码内容就行了. 下边是计算UIWebView高度: 第一种方法:   - (void)webViewDidFinishLoad:(UIWebView *)webView
iOS获取webView内容高度
小小Dream
08-15 2059
- (void)webViewDidFinishLoad:(UIWebView *)webView {     CGFloat height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] floatValue];     CGRect frame = webView.fram...
iOS WKWebView 计算高度的几种方法
疯狂的程序猿的博客
10-19 2238
[self.webView.scrollView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil]; - (void)dealloc{ [self.webView.scrollView removeObserver:self forKeyPath:@"contentSize" context:nil]; } - (void)observeValueForK...
IOS计算UIWebView的实际高度
甜吖~的博客
10-10 478
UIWebView*_detailWebView=[[UIWebView alloc]initWithFrame:CGRectMake(0,0, 320, 480)];  _detailWebView.delegate=self; [_detailWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:
iOS动态获取UIWebView高度
luyu2012001的专栏
01-05 282
转自http://stephen830.iteye.com/blog/2244893 场景 在 App 中加载网页时,通常情况我们只需要直接初始化一个 WebView,然后去加载对应的 URL 即可,但若是有时候有些个设计是需要将 web 与原生的 UI 搭载在一起,一般情况下,webView内容一页是肯定不够的,换句话说,webView高度是不定的,那如果原生的 UI是
iOS 计算 UIWebView高度的问题
YuHuiXia的博客
06-15 2893
当我们涉及到webView和纯代码结合的时候,例如一个资讯详情,其它位置想加上我们的纯代码控件,可以计算webView高度,然后放到scrollView上,然后在scrollView下边或者什么位置,加上自己的纯代码内容就行了. 下边是计算webView高度: 第一种方法: - (void)webViewDidFinishLoad:(UIWebView *)webView{ floa
iOS Webview自适应实际内容高度的4种方法详解
09-01
iOS开发中,UIWebView是用于展示网页内容的重要组件。然而,当网页内容高度超过UIWebView的初始设置时,需要让UIWebView自适应实际内容高度,以确保用户能够完整浏览网页。本文将详细介绍四种实现这一功能的...
ios-计算WKWebview的实际高度.zip
07-11
iOS开发中,WKWebView是苹果提供的一种用于展示网页内容的控件,它取代了旧版的UIWebView,提供了更好的性能和安全性。然而,在实际应用中,开发者常常遇到一个挑战:如何准确地获取WKWebView加载的网页实际内容...
机械原理课程设计 破碎机.doc
最新发布
09-21
机械原理课程设计 破碎机.doc
电子设计论文施密特触发器电子设计论文施密特触发器
09-21
电子设计论文施密特触发器电子设计论文施密特触发器
电子设计论文往返式流动灯电子设计论文往返式流动灯
09-21
电子设计论文往返式流动灯电子设计论文往返式流动灯
基于深度学习来实现序列到序列.zip
09-21
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
美国扩大电动汽车充电基础设施政策(英文).pdf
09-21
政策背景与动机: 签署法案:2021年11月15日,拜登总统签署了《基础设施投资和就业法案》(IIJA),旨在通过多项措施推动美国电动汽车充电基础设施的扩张。 市场增长:随着电动汽车市场的快速增长,对充电基础设施的需求也日益增加,政府政策成为推动这一发展的关键力量。 电动汽车充电基础: 充电技术:电动汽车充电技术通常分为三级,各级充电速度和功率不同,满足不同场景下的充电需求。 充电站类型:包括公共、私人及工作场所充电站,各自具有不同的访问限制和使用特点。 市场趋势与现状: 市场增长:EV市场增长依赖技术进步、成本降低及充电便利性的提高。 充电站数量:截至2022年10月,美国公共和私人充电站总数超过50,000个,其中93%为公共充电站。 区域差异:充电站分布存在地区差异,部分低收入社区充电基础设施不足。 政策与项目: NEVI公式计划:通过IIJA设立的国家电动汽车基础设施(NEVI)公式计划,为各州提供资金以建设EV充电站。 税收抵免:扩展了替代燃料汽车加油站的税收抵免政策,包括EV充电站,以激励投资者。 联合办公室:DOT和DOE成立联合办公室,负责NEVI计划的实施和监管,确保
电子设计论文照明过暗提醒电路电子设计论文照明过暗提醒电路
09-21
电子设计论文照明过暗提醒电路电子设计论文照明过暗提醒电路
iOS开发:UIWebView加载与错误处理指南
iOS开发中,WebView通常用于在原生应用内展示网页内容。以下是一个简单的使用WebView加载网页的教程: 1. 创建项目: 首先,启动Xcode 4.3并创建一个新的Single View Application,我们将这个项目命名为...
写文章

热门文章

  • 用例图之参与者、用例间的四种关系 14576
  • IOS开发-发送邮件(E-mail)方法整理合集(共3种) 2757
  • 十款不错的Hybrid App移动开发框架 2270
  • ipa验证错误问题总结 1562
  • Code Sign error: Provisioning profile 'xxxxxxxxxxxxxxxxxxxxxxxxx' 1252

大家在看

  • Python中使用Seaborn绘制数据分布图的实用指南
  • 基于大数据+爬虫+数据可视化+SpringBoot+Vue的母婴护理智慧管理与可视化系统设计和实现(源码+LW+部署讲解) 868
  • 问: `Thread.interrupted()` 和 `Thread.currentThread().isInterrupted()` 之间有什么区别?
  • 基于redis的HyperLogLog数据结构实现的布隆过滤器在信息流中历史数据的应用
  • ICM20948 DMP代码详解(36)

最新文章

  • 用例图之参与者、用例间的四种关系
  • 初学UML之-------用例图
  • iOS企业版打包 发布在线安装包 plist
2017年4篇
2016年44篇
2015年209篇
2014年305篇
2013年157篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家丽江玻璃钢雕塑批发商山西玻璃钢浮雕学校抽象雕塑南通玻璃钢雕塑厂家规格平顶山江门玻璃钢卡通雕塑淮南玻璃钢雕塑制造厂家呈贡玻璃钢烤漆雕塑定做仿铜西式玻璃钢雕塑厂家找哪家蚌埠户内玻璃钢雕塑销售厂家兰州玻璃钢雕塑咨询夏日商场美陈贵州商场美陈展示商场美陈布景衣服陈列汕尾玻璃钢卡通雕塑分类济源标牌玻璃钢雕塑公司德宏玻璃钢仿生雕塑山东商场美陈生产厂家玻璃钢景观雕塑厂商殷都玻璃钢雕塑招远玻璃钢游乐场门头雕塑组合式玻璃钢雕塑摆件设计上海节庆商场美陈销售不锈钢太湖石玻璃钢雕塑定制厂家生产玻璃钢花盆玻璃钢卡通唱戏人物雕塑四川商场美陈供应商宿州玻璃钢卡通雕塑小品系列玻璃钢雕塑江苏大型商场创意商业美陈承德玻璃钢仿铜雕塑厂家小品玻璃钢动物雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化