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是否在可视区相关推荐

  1. 【web】仿微博浏览量自增(判断元素是否在可视区+停留2s事件响应)

    浏览量自增 需求分析 微博.空间动态中经常能看到浏览量统计,不同于博客,点击之后浏览量自动加1,这种碎片化的推送信息,浏览次数不能以常规的点击方式来统计,用户可能甚至根本不会点击内容,匆匆一瞥就把滚动 ...

  2. 前端如何实现图片懒加载(lazyload) 提高用户体验

    定义 图片懒加载又称图片延时加载.惰性加载,即在用户需要使用图片的时候加载,这样可以减少请求,节省带宽,提高页面加载速度,相对的,也能减少服务器压力. 惰性加载是程序人性化的一种体现,提高用户体验,防 ...

  3. 常用元素位置与大小总结

    偏移量 offsetHeight: 元素在垂直方向占据的空间大小 => 内容高度 + 上下padding + 上下boder offsetWidth: 元素在水平方向占据的空间大小 => ...

  4. 深入理解浏览器解析和执行过程

    在我们公司的业务场景中,有很大一部分用户是使用老款安卓机浏览页面,这些老款安卓机性能较差,如果优化不足,页面的卡顿现象会更加明显,此时页面性能优化的重要性就凸显出现.优化页面的性能,需要对浏览器的渲染 ...

  5. js两种滚动事件写法

    方式一:可判断滚动条滚动方向. $(window).scroll(() => {// 滚动条距文档顶部的距离, || 是做兼容处理的let scrollTop = window.pageYOff ...

  6. 【前端优化】超详细!带你体验常用的前端优化手段

    文章目录 前言 一.图片懒加载 原因 判断是否进入可视区 方案一: clientHeight.scrollTop 和 offsetTop 方案二:getBoundingClientRect 二.防抖与 ...

  7. img 的 alt 与 title 的异同,还有实现图片懒加载的原理

    异同 alt是图片加载失败的时候,显示在网页上的替代文字:title是鼠标放在图片上显示的提示文字,title是对图片的描述与进一步说明. 这些都是表面上的区别,alt是img的必要属性,而title ...

  8. 前端性能优化总结/懒加载、函数节流、优化dom操作、雪碧图、合并文件

    1.减少 HTTP 请求数量 在浏览器与服务器进行通信时,主要是通过 HTTP 进行通信.浏览器与服务器需要经过三次握手,每次握手需要花费大量时间.而且不同浏览器对资源文件并发请求数量有限(不同浏览器 ...

  9. 图片优化瘦身 给网站提速

    1. 为什么用 webp? 科技博客 Gig‍‍‍aOM 曾报道:YouTube 的视频略缩图采用 WebP 格式后,网页加载速度提升了 10%:谷歌的 Chrome 网上应用商店采用 WebP 格式 ...

最新文章

  1. html js不触发_图文详解鼠标事件CSS:hover和JS:mouseover的区别
  2. eclipse打包成jar_Spring Boot 打包成的可执行 jar ,为什么不能被其他项目依赖?
  3. 天猫整站SSM-分页-limit(做个人学习笔记整理用)
  4. mysql怎么跳出while循环_mysql while,loop,repeat循环,符合条件跳出循环
  5. C#通过序列化实现深表复制
  6. 如何改变WINDOWS服务的启动顺序(Win2000)
  7. 南昌大学计算机网络通信用什么书,南昌大学_计算机网络教材.doc
  8. 计算机主机显示接口,一文了解电脑视频接口 看完彻底明白了
  9. 重启计算机可以使用什么组合键,死机重启电脑快捷键有哪些
  10. 前后端分离的好处有哪些?
  11. 中国石油大学c语言程序设计答案,中国石油大学C语言程序设计第一册在线作业答案...
  12. 2018 Android 框架汇总(转)
  13. 一招教你如何提高分销平台分账效率
  14. 踱步狼注释移除状态机算法2019.10
  15. C#实现PDF转PNG图片
  16. 程序员的国庆大阅兵,太好好好好好好看了吧 ……
  17. 2022电大国家开放大学网上形考任务-公司财务非免费(非答案)
  18. 计算机毕业设计不会做?
  19. 关于分布式商城的项目讲解
  20. 同时解决Wifi共享精灵启动不了或者上不了网的方法?

热门文章

  1. jzoj3208. 【JSOI2013】编程作业(kmp)
  2. 企业如何做好绩效管理?
  3. Chrome关闭非安全站点证书检查
  4. 【蓝桥杯】九宫重排(BFS+康拓展开)
  5. 网络营销的特点和优势
  6. 2022年一级注册建筑师考试《建筑设计》巩固习题及答案
  7. 在 wangEditor 研发团队我都干了些什么 ???
  8. 标志是企业视觉形象识别的核心
  9. 计算机开机跳过硬盘检查,如何设置开机跳过检测硬盘
  10. 深入剖析Netty源码设计(一)——深入理解select poll epoll机制