UITableView reload刷新闪动问题
前言
Xcode 13.3.1
iOS 11.3.1
先说下我这遇到的情况,
1、tableView 刷新时候闪动、或者定位出错
2、tableView刷新 + scrollToRow 滚动 闪动
1.1、tablwView预设高度
tableView.rowHeight = UITableView.automaticDimension //snpkit 自适应高度
tableView.rowHeight = 0 //手动设置高度
tableView.estimatedRowHeight = UITableView.automaticDimension
tableView.estimatedSectionHeaderHeight = 0
tableView.estimatedSectionFooterHeight = 0
什么?你说上面不行!嗯,我的好像也是不行,那就没事了,在继续添加下一个
1.2、压制reload刷新隐式动画
CATransaction.setDisableActions(true)
tableView.reloadData()
CATransaction.commit()
以上单纯的刷新就不会出问题了
但是我的是上诉情景2,依旧会闪动,使用scrollToRow 滚动动画依然有问题(如果动画设置false就没问题了)
2.1、tableview使用 insertRows 插入而不是reload刷新
使用情景:一个类似聊天的AI互动,发送数据成功后,tableview滑动到这条最新数据上
使用说明:使用CATransaction 压制 insertRows插入动画,然后刷新单独行,刷新单独行不行压制动画,否则会导致部分内容展示失败(原因未知)
let indexPath = IndexPath(row: count - 1, section: 0)
CATransaction.setDisableActions(true)
table.insertRows(at: [indexPath], with: .none)
CATransaction.commit()
table.reloadRows(at: [indexPath], with: .none)
DispatchQueue.main.async {table.scrollToRow(at: indexPath, at: .top, animated: true)
}
什么?你说上面不行!嗯,我的好像也有部分不行,那就没事了,在继续添加下一个
2.2、tabview 频繁刷新闪动问题
使用场景:我这边因为tableView 的cell 中嵌套了另外一个 tableview,里面tableview刷新之后,外边继续刷新,然后继续第三步,就会发生闪动,我取消一个刷新之后,闪动问题解决
多次刷新可能导致闪动
什么?你说上面不行!嗯,才疏学浅,告辞
UITableView reload刷新闪动问题相关推荐
- window.location.reload() 刷新页面时,如何不弹出提示框
reload时是会弹出刷新的窗口的 改为window.location.href='url'就可以了 技术提供:武汉信息网 娱乐提供:027游戏攻略网 转载于:https://www.cnblogs. ...
- Location.reload() 刷新
Location.reload(forcedReload) 方法用来刷新当前页面.forcedReload 该参数要求为布尔类型,1.当取值为 true 时,将强制浏览器从服务器重新获取当前页面资源, ...
- 微信浏览器无法使用reload()刷新页面 gif图兼容性
场景1 是这样子的,页面有一个ajax请求,在页面上有一个按钮,点击的时候执行window.location.reload(),正常情况reload()后页面依然会向后台发出请求,但在安卓的微信浏览器 ...
- UITableView 局部刷新
2019独角兽企业重金招聘Python工程师标准>>> 1.刷新表中的指定区 NSIndexSet * nd=[[NSIndexSet alloc]initWithIndex:1]; ...
- 解决微信浏览器无法使用reload()刷新页面
场景是这样子的,页面在初始化时有一个ajax请求,在页面上有一个按钮,点击的时候执行window.location.reload(),正常情况reload()后页面依然会向后台发出请求,但在安卓的微信 ...
- UITableView reloadData 跳动闪动
问题 在使用表格TableView的时候,常常需要 根据数据更新表格,最常用的方式就是reloadData 一般情况下是没有什么问题的,有时候会遇到cell或者section跳动,产品大大肯定是要打死 ...
- php中location.reload,js刷新页面location.reload()用法详解
本文介绍了js刷新页面函数location.reload()的用法,有关js location.reload()函数的例子,有需要的朋友参考下. 在javascript编程中,多使用location. ...
- js 刷新页面window.location.reload();
Javascript刷新页面的几种方法: 1 history.go(0) 2 window.location.reload() window.location.reload(true) 3 ...
- js刷新页面location.reload()用法
本文介绍了js刷新页面函数location.reload()的用法,有关js location.reload()函数的例子,有需要的朋友参考下. 在javascript编程中,多使用location. ...
最新文章
- Kafka系列三 java API操作
- python学习干货教程(10):列表
- Type difference of character literals in C and C++
- Big Data應用:以玩家意見之數據分析來探討何謂健康型線上遊戲(上)
- Java黑皮书课后题第5章:*5.15(显示ASCII码字符表)编写一个程序,打印ASCII字符表从‘!‘到‘~‘的字符。每行打印10个字符。ASCII码表如附录B所示。数字之间用一个空格字符隔开
- 液晶电视服务器无响应时间,液晶电视响应速度时间是多少更好啊?
- python制作计算机程序_用 Python 开发实用程序 – 计算器
- Finished yeah!
- jQuery操作DOM元素案例
- (Docker实战) 第三篇:配置_开发环境
- 抖音api开放平台对接_抖音新增酒店预订等功能,一只脚踏进美团、携程腹地
- 使用Unity开发RPG游戏完整指南(全)
- ISO IEC 27001 企业信息安全管理要求
- 软件商业模式的发展与SaaS
- 软件项目开发流程逻辑图
- Linux tc QOS 详解
- Bitmap、CBitmap、HBITMAP以及BITMAP的相互转换
- Git分布式版本控制遇到的问题如何把本地的项目上传到码市上
- 区号组号组内块号块内地址号的计算
- 华为OD机试 - 按身高和体重排队(Java) | 机试题+算法思路+考点+代码解析 【2023】
热门文章
- python基础笔记一
- 函数式编程-Stream流
- SpringCloud之利用FTL生成Word报表并下载
- linux下通过串口ftp,eftp简单文件传输工具支持串口、网络、Windows、Linux、单片机平台-博客...
- 【Echarts】设置主题、扇形格式化
- JAVA混合执行,Java8默认情况下是混合执行模式
- AdaptiveAvgPool1D内部实现
- 2016年 河南工业大学校赛 C题.魔法宝石
- LCHub 1月低代码平台排行榜出炉:宜搭遥遥领先微搭低代码
- VScode+Unity3D的配置