判断tableViewCell是否在可视区
1、- (NSArray *)visibleCells;
UITableview 的方法,这个最直接,返回一个UITableviewcell的数组。
对于自定义的cell,之后的处理可能会稍微复杂。
2、-(NSArray*)indexPathsForVisibleRows;
UITableview的又一个方法,这个比较好用,返回一个indexPath的数组,可以直接indexpath.row去调用你的table_related_array里的数据了。比较方便用于自定制的cell.
3、-(CGRect)rectForRowAtIndexPath:(NSIndexPath*)indexPath;
//找出indexPath为index对应的cell在myTV这个tableView里的rect
CGRect cellR = [myTV rectForRowAtIndexPath:index];
如果myTV.contentOffset - cellR.origin.y < myCll.frame.size.height;
或者cellR.origin.y - myTV.contentOffset.y > myTV.size.height;
这个时候myCell应该不在myTV的可视区域了
这个方法可以用在代理回调较多的设计中。
、、
1、2在自动根据数据伸长的cell中好像不太准确、
删除UITableviewCell时,如何知道最后一个cell显示在了屏幕上面。如果一个屏幕10个cell,删除了两个。最后一个cell出现在了屏幕上,需要
自动加载更多数据。
如果cell大小固定。数据源数量 小于 屏幕高度除以cell高。这时可以继续加载。
如果cell大小根据内容自动变化。(cell高度动态变化)
//数据源数组
NSArray *dataArray = nil;
//获取最后一个cell对象
UITableViewCell *cell = self.tableView.visibleCells.lastObject;
//获取最后一个cell的indexPath
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
//获取指定(最后)一个cell的rect
CGRect rect = [self.tableView rectForRowAtIndexPath:indexPath];
CGFloat lastCellBottom = rect.origin.y = rect.size.height;
id lastModel = dataArray.lastObject;
id model = dataArray[indexPath.row];
//保证是最后一个cell
if(model == lastModel){
if(lastCellBottom < self.tableView.frame.size.height){
NSLog(@"加载数据");
}
}
转载于:https://www.cnblogs.com/wjw-blog/p/7810078.html
判断tableViewCell是否在可视区相关推荐
- 【web】仿微博浏览量自增(判断元素是否在可视区+停留2s事件响应)
浏览量自增 需求分析 微博.空间动态中经常能看到浏览量统计,不同于博客,点击之后浏览量自动加1,这种碎片化的推送信息,浏览次数不能以常规的点击方式来统计,用户可能甚至根本不会点击内容,匆匆一瞥就把滚动 ...
- 前端如何实现图片懒加载(lazyload) 提高用户体验
定义 图片懒加载又称图片延时加载.惰性加载,即在用户需要使用图片的时候加载,这样可以减少请求,节省带宽,提高页面加载速度,相对的,也能减少服务器压力. 惰性加载是程序人性化的一种体现,提高用户体验,防 ...
- 常用元素位置与大小总结
偏移量 offsetHeight: 元素在垂直方向占据的空间大小 => 内容高度 + 上下padding + 上下boder offsetWidth: 元素在水平方向占据的空间大小 => ...
- 深入理解浏览器解析和执行过程
在我们公司的业务场景中,有很大一部分用户是使用老款安卓机浏览页面,这些老款安卓机性能较差,如果优化不足,页面的卡顿现象会更加明显,此时页面性能优化的重要性就凸显出现.优化页面的性能,需要对浏览器的渲染 ...
- js两种滚动事件写法
方式一:可判断滚动条滚动方向. $(window).scroll(() => {// 滚动条距文档顶部的距离, || 是做兼容处理的let scrollTop = window.pageYOff ...
- 【前端优化】超详细!带你体验常用的前端优化手段
文章目录 前言 一.图片懒加载 原因 判断是否进入可视区 方案一: clientHeight.scrollTop 和 offsetTop 方案二:getBoundingClientRect 二.防抖与 ...
- img 的 alt 与 title 的异同,还有实现图片懒加载的原理
异同 alt是图片加载失败的时候,显示在网页上的替代文字:title是鼠标放在图片上显示的提示文字,title是对图片的描述与进一步说明. 这些都是表面上的区别,alt是img的必要属性,而title ...
- 前端性能优化总结/懒加载、函数节流、优化dom操作、雪碧图、合并文件
1.减少 HTTP 请求数量 在浏览器与服务器进行通信时,主要是通过 HTTP 进行通信.浏览器与服务器需要经过三次握手,每次握手需要花费大量时间.而且不同浏览器对资源文件并发请求数量有限(不同浏览器 ...
- 图片优化瘦身 给网站提速
1. 为什么用 webp? 科技博客 GigaOM 曾报道:YouTube 的视频略缩图采用 WebP 格式后,网页加载速度提升了 10%:谷歌的 Chrome 网上应用商店采用 WebP 格式 ...
最新文章
- 如何避开项目管理陷阱?
- linux elf格式文件详细分析
- 2018年跨行学习mysql_2018年,让你的数据库变更快的十个建议
- MATLAB从入门到精通-控制系统动态特性的计算以及阶跃响应波德图等
- python for循环语句的用法
- FetchAI Case Study
- Unity3D For Android 开发教程【转http://game.ceeger.com/Unity/Doc/2011/Unity3D_For_Android.html】...
- 深度|二代征信:人行数字解读分与征信复议
- 使用Mediaplay类写一个播放器
- 硬盘镜像和软盘镜像中内容的查看方法
- 计算机网络医院拓扑图方案设计,【方案】某医院计算机网络综合布线系统设计...
- linux 网络通信框架,Linux下 C++ HPSocket通信框架的简单使用
- NLP常见语言模型总结
- 数据库kettle,datax,DBMigration,RazorSQL几款迁移工具使用感受(以及如何迁移表的结构如主键,索引,约束等)
- java graphics2d旋转_反转Java Graphics2D缩放和旋转坐标
- 市场调研及发展前景分析报告有什么作用
- 求任意两圆相交的面积(不限程序设计语言版本)
- PyTorch DDP
- 想转SAP FICO顾问的必看(转)
- Android_001_校园APP_001_底部导航栏_Fragment_0
热门文章
- 九宫重拍(bfs + 康拓展开)
- Tushare金融大数据入门
- excel如何画删除线
- 蜀门锻造系统c语言原理,《蜀门》教你如何锻造装备
- 深入理解AlexNet网络
- linux判断参数是否存在,检查bash shell脚本中是否存在输入参数
- 广联达bim5d手机端_广联达BIM5D手机端操作说明-周跟踪
- 毕竟西湖六月中,风光不与四时同。接天莲叶无穷碧,映日荷花别样红
- CDH大数据平台 ModuleNotFoundError: No module named ‘_sqlite3‘
- 【健康生活,从BMI开始——Melendez的Android版本BMI计算器开源了】