tableViewCell中添加webView,cell自适应webView高度,解决死循环的简单办法

TableViewCell 中嵌入WKWebview 显示HTML字符串,TableView高度自适应 需求:每个tableviewcell 添加一个wkwebview 用于显示HTML 要求webview高度自适应,,每个cell高度自适应,,网上查的资料,,使用的通知来刷新tableview,,会使tableview刷新次数过多,,本文的方法tableview只刷新一次实现思路:cell中添加一个代理和一个index属性(cell协议方法中传入indexpath.row) 在webview加载完... 阅读详情

不管是使用代理还是使用通知传递高度的值,要改边tableviewcell的高度,都需要刷新表,但是这个表刷新,>又要导致webview代理方法的运行,这样形成一个死循环

  1. 在cell.m文件里面

这个方法是在webview请求成功的时候走的,(如果该方法不走,说明请求不成功)在此方法中获取webview的内容高度

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
        //  float height = [[webView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] floatValue];     //此方法获取webview的内容高度,但是有时获取的不完全
        //  float height = [webView sizeThatFits:CGSizeZero].height; //此方法获取webview的高度
            float height = [[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.scrollHeight"]floatValue]; //此方法获取webview的内容高度(建议使用)
        //设置通知或者代理来传高度
            [[NSNotificationCenter defaultCenter]postNotificationName:@"getCellHightNotification" object:nil         userInfo:@{@"height":[NSNumber numberWithFloat:height]}];
    }

该方法是在请求失败的时候走的,如果请求不成功,可以在此打印失败信息

    -(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error
    {
        NSLog(@"%@",error);
    }

  1. 在- (void)viewDidLoad方法里面接受通知
     [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(setTableViewCellHight:)  name:@"getCellHightNotification" object:nil];

  1. 实现通知中的方法(在此防止死循环)
    -(void)setTableViewCellHight:(NSNotification *)info
    {
        NSDictionary * dic=info.userInfo;
        //判断通知中的参数是否与原来的值一致,防止死循环
        if (_height != [[dic objectForKey:@"height"]floatValue])
        {
            _height=[[dic objectForKey:@"height"]floatValue];
            [self.tableView reloadData];// 也可以写成刷新某一固定的行
        }
    }
iOS UITableView 自定义cell中嵌套webview自适应高度 -(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; self.heightDic = [[NSMutableDictionary alloc]init]; [[NSNotificationCenter defaultCenter]addObserver:self select... 阅读详情

相关推荐

swift-加载在cell上的webview自适应高度

加载在cell上的webview自适应高度

uitableview cell上加载webview

在开发中 或许有些需求 需要在某个cell上添加webview。 下面我就来讲下cell上如何添加webview 这个就直接在tableview的代理中写了 #pragma mark - TableViewDelegate & TableViewDatasource - (NSInteger)tableView:(UITableView *)tableView num

Warren_Zhang的博客 910

ios-tableView嵌套webView.zip

tableView嵌套webview进行实现新闻详情的查看全文,下面列表的内容可以自行扩展。demo提供基本的思路,个人可以自行扩展。

iOS cell嵌套webView,准确计算高度!

第一步:给webview添加kvo监听content size [self.webView.scrollView addObserver:self forKeyPath:@"contentSize" options:NSKeyValueObservingOptionNew context:nil]; 第二步:实现监听 #pragma mark - KVO - (

老衲有礼了的博客 2827

ios-TableView嵌套webView自适应高度.zip

tableView嵌套多个webView自适应高度,高度获取较精准,速度快,有需要的童鞋可以借鉴

【2026-Spark实验一-Windows中安装Spark环境】

本文详细介绍了在Windows系统中配置Spark 3.5.8开发环境的完整流程。主要内容包括:安装JDK 8并配置环境变量,下载并解压Spark 3.5.8预编译版,设置SPARK_HOME系统变量,配置Hadoop的winutils工具解决Windows兼容性问题。通过spark-shell和SparkPi示例程序验证环境配置成功,确保Spark能够正常运行分布式计算任务。文中特别强调了路径命名规范、环境变量设置顺序等关键细节,提供了完整的配置截图和验证方法,帮助开发者快速搭建稳定的Spark学习环境。

pblh123的专栏 1586

放在UITableVIewCell上的webView的高度自适应的问题

一、前言 前段时间,群里的小伙伴们经常问题UITableViewCell中要放一个UIWebView,怎么做呢?怎么算高度?怎么让它自适应?这一听感觉挺不好处理的。 因为UIWebView通过代理加载的话,还没有计算高度出来,cell的heightForRowAtIndexPath已经调用了。 基于此,笔者尝试学习了一下如何去计算其高度,并自适应。 注意:笔者只是抛砖引玉,仅仅处理了首次加

Kenmon 5281

AI 辅助代码审查:开启代码质量管控的智能时代

AI辅助代码审查正在改变传统的代码质量管控方式。通过自动化分析、智能反馈和上下文感知,AI不仅提高了代码审查的效率,还提升了代码质量的一致性和可维护性。随着机器学习和深度学习技术的不断发展,未来AI将成为开发者日常工作中强大的助手,进一步推动软件开发向智能化、自动化方向发展。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 3227

UITableViewCell嵌套UIWebView

我的博客原文地址项目需求:UITableViewCell嵌套UIWebView,并且让UIWebView根据内容自适应高度。1 获取UIWebView高度- (void)webViewDidFinishLoad:(UIWebView *)webView { // 如果要获取webView高度必须在网页加载完成之后获取 // 方法一 CGFloat height = [self.

一切随缘的博客 2042

ArcFace vs 传统算法:实测MTCNN+ArcFace在PyCharm中的识别准确率(含完整对比数据)

本文通过PyCharm开发环境实测MTCNN+ArcFace组合在人脸识别中的性能表现,并与传统算法进行多维度对比。实验数据显示,ArcFace在LFW数据集上达到99.83%的准确率,显著优于传统方法。文章还提供了完整的代码实现和工程优化建议,为开发者提供实用的技术参考。

醉三国 233

Pika Labs vs Runway ML:零基础小白如何选择最适合自己的AI视频生成工具?

本文详细对比了Pika Labs和Runway ML两款AI视频生成工具,从操作界面、生成效果、隐藏成本、工作流适配性和未来兼容性五个维度进行分析。Pika Labs适合零基础用户快速生成社交媒体短内容,而Runway ML则更适合专业级视频制作。帮助用户根据自身需求选择最适合的AI视频生成工具。

wood5的博客 598

tabViewCell里面添加webView

在UItabViewCell里面添加UIWebView时需要注意在以下方法中的用法 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {        return self.webView.height; } -(void)webViewDid

xcp_123的博客 1045

YOLOv11改进 | Neck篇 | 轻量化跨尺度跨通道融合颈部CCFM助力YOLOv11有效涨点

到此本文的正式分享内容就结束了,在这里给大家推荐我的YOLOv11改进有效涨点专栏,本专栏目前为新开的平均质量分98分,后期我会根据各种最新的前沿顶会进行论文复现,也会对一些老的改进机制进行补充,目前本专栏免费阅读(暂时,大家尽早关注不迷路~)如果大家觉得本文帮助到你了,订阅本专栏,关注后续更多的更新~YOLOv11有效涨点专栏——本专栏持续复习各种顶会内容——科研必备​ycb。

Snu77的博客 8079

经验贴 | UITableView中Cell嵌套UIWebView时获取高度

使用场景: tableView 的 cell嵌套webView<webView加载一般是加载一个静态网页,或者加载一段html片段>的时候,需要获取webView的内容的高度,然后计算相应的cell的高度,进而展示一些丰富的富文本之类的东西,是期中的一个使用场景。当然可能还有其他的使用场景。 下面说一下其中的两个小坑,或者说注意事项。 获取webView高度的方法 获取webV...

十二指环的博客 1424

基于ESP32的AI 古琴:基于音频指纹的民族乐器智能校准系统设计与实现

硬件选型兼顾实用性与低成本,接线简单易实现;基于 MFCC 的音频指纹算法,能有效识别古琴弦的音高特征;人机交互友好,新手可快速上手。

weixin_42300449的博客 306

Java与OSG的梦幻联动:深入编译OpenSceneGraph的Java JNI桥梁,开启3D视觉盛宴的奇幻之旅

🔥关注墨瑾轩,带你探索编程的奥秘!🚀🔥超萌技术攻略,轻松晋级编程高手🚀🔥技术宝库已备好,就等你来挖掘🚀🔥订阅墨瑾轩,智趣学习不孤单🚀🔥即刻启航,编程之旅更有趣🚀在编译OpenSceneGraph (OSG) 的Java版本时,首先需要了解OSG本身是一个主要用于3D图形和视觉仿真的开源库,它主要支持C++。然而,OSG 也支持通过JNI(Java Native Interface)与Java集成,这允许Java程序调用OSG的C++库。

java专栏 869

iOS WKWebView嵌入UITableViewCell

需求背景 产品需要展示html格式的富文本字符串,这个html是用户可编辑的,但不能有交互行为。从设计稿上看,这段富文本字符串需要展示在一个tableViewCell里,并且得让其自适应高度。 使用UILabel去实现需求 实际上,UILabel是支持attributeString的,而attributeString又可以通过html字符串生成,如下: NSMutableAttributedString *attrStr = [[NSMutableAttributedString alloc.

甜吖~的博客 1456

基于 STM32 的便携式肌电信号采集与疲劳度评估系统设计与实现

本系统以 STM32 单片机为核心控制器,通过肌电电极采集人体骨骼肌表面的 sEMG 信号,经仪表放大、滤波、AD 采样后送入 MCU 进行时域 / 频域特征提取,利用 RMS(均方根)、MPF(中位频率)、MF(平均频率)等指标实时评估肌肉疲劳状态,最终通过 OLED 显示疲劳等级,并支持蓝牙上传至上位机。

weixin_42300449的博客 102

iOS Cell嵌套UIWebView(内附UIWebView详解)

前言 背景:最近做的项目中有这样一个需求,一个话题详情界面内部分内容为html标签,其他为普通内容,然后html标签是嵌套在Cell中的,一开始用的是UILabel加载html标签,结果发现对于图片标签没有更好的适应屏幕,果断换成UIWebView,使用WebView加载计算高度的时候是有些注意点的,所以在此记录一下,并总结一下相关知识,以备后续查阅。 一、cell嵌套webView具

努力,可能成功!放弃,注定失败! 5704

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

IOS TableViewCell嵌套webview 自适应高度

IOS TableViewCell嵌套webview 字数463 阅读322 评论0 喜欢19 IMG_0521.JPG 新项目中,遇到了一个新的需求:tableview中一个cell里嵌套了web view,想让web view根据内容自适应高度,cell根据webView自适应高度。 对于这个需求,我们只要2步就可以完成。 1.如何获取webvie

michaelKiven的博客 6021

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

关于UItableViewCell上加载UIWebView自适应高度问题

我们知道所有的关于UI的加载都是在主线程中完成的,而在UITableView中cell的自适应高度经常用的方案是在cell height代理方法中调用cellforRowAtIndexPath代理方法 返回高度的  如果在cell上再加载UIWebView的时候  UiWebView的自适应高度也是在UIWebView的代理方法中完成的。这样的话在cellForrow代理方法中加载UIWebvie

Mr-Coder的专栏 3209

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: iOS 状态栏颜色更改
下一篇: MVVM解析
网上的虫
博客等级 码龄11年 8粉丝 143原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值