滑动UITableView时,按需加载对应的内容

直接上代码:

//按需加载 - 如果目标行与当前行相差超过指定行数,只在目标滚动范围的前后指定3行加载。
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset{NSIndexPath *ip = [self indexPathForRowAtPoint:CGPointMake(0, targetContentOffset->y)];NSIndexPath *cip = [[self indexPathsForVisibleRows] firstObject];NSInteger skipCount = 8;if (labs(cip.row-ip.row)>skipCount) {NSArray *temp = [self indexPathsForRowsInRect:CGRectMake(0, targetContentOffset->y, self.width, self.height)];NSMutableArray *arr = [NSMutableArray arrayWithArray:temp];if (velocity.y<0) {NSIndexPath *indexPath = [temp lastObject];if (indexPath.row+33) {[arr addObject:[NSIndexPath indexPathForRow:indexPath.row-3 inSection:0]];[arr addObject:[NSIndexPath indexPathForRow:indexPath.row-2 inSection:0]];[arr addObject:[NSIndexPath indexPathForRow:indexPath.row-1 inSection:0]];}}[needLoadArr addObjectsFromArray:arr];}
}

记得在tableView:cellForRowAtIndexPath:方法中加入判断:

if (needLoadArr.count>0&&[needLoadArr indexOfObject:indexPath]==NSNotFound) {[cell clear];return;
}

转载于:https://www.cnblogs.com/lilufeng/p/5217889.html

UITableView优化之按需加载相关推荐

  1. PDF.js 实现pdf分页加载的前端优化(实现按需加载)-前端的demo也已经上传

    描述 pdf.js实现了分片加载,但是在首次加载时自动加载了全部的pdf分片,导致打开了几个超过1g的pdf时,浏览器报出内存不足的提示 解决方案 实现pdf.js的按需加载,只需要修改属性disab ...

  2. vue项目优化之按需加载组件-使用webpack require.ensure

    使用 vue-cli构建的项目,在 默认情况下 ,执行 npm run build  会将所有的js代码打包为一个整体, 打包位置是 dist/static/js/app.[contenthash]. ...

  3. Android官方开发文档Training系列课程中文版:布局性能优化之按需加载View

    原文地址:http://android.xsoftlab.net/training/improving-layouts/loading-ondemand.html 有时应用程序中会有一些很少用到的复杂 ...

  4. 前端性能优化之jQuery按需加载轮播图

    引言 关于幻灯轮播图,想必大家都不陌生,尤其是基于 jQuery 的,插件.代码网上一搜一大堆,但是真正符合自己需求的几乎没有,所以我要打造一个符合自身需求,经得起广大网民考验的 jQuery 轮播图 ...

  5. Vue性能优化:图片与组件,如何实现按需加载?

    Vue性能优化:图片与组件,如何实现按需加载? 前沿:按需加载是性能优化其中的一个环节,可以是图片的按需加载,也就是lazyload来实现按需加载的场景,也可以是组件库的引入,只需部分组件的使用而无需 ...

  6. html轮播图速度加快,jQuery按需加载轮播图(web前端性能优化)

    引言 关于幻灯轮播图,想必大家都不陌生,尤其是基于 jQuery 的,插件.代码网上一搜一大堆,但是真正符合自己需求的几乎没有,所以我要打造一个符合自身需求,经得起广大网民考验的 jQuery 轮播图 ...

  7. python 按需加载_基于python的opcode优化和模块按需加载机制研究(学习与个人思路)(原创)...

    基于python的opcode优化和模块按需加载机制研究(学习与思考) 姓名:XXX 学校信息:XXX 主用编程语言:python3.5 文档转换为PDF有些图片无法完全显示,请移步我的博客查看 完成 ...

  8. 按需加载图片、html代码、js代码,前端页面性能优化

    加载一个比较长的页面,或者图片比较多的页面,如果把资源一次性全部加载,在网络不是很好的情况下可能造成页面留白现象,用户体验极差! 因此呢,我们可以把用户暂时不会看到或用到的资源先不加载,在某个条件下, ...

  9. webpack2+angular2 按需加载,优化首屏速度

    1.Angular2的按需加载及延迟加载 1.1 根模块AppModule 假设按需加载的模块为LazyModule,首页模块为LoginModule,根模块为AppModule.首先在AppModu ...

最新文章

  1. 日志切割之Logrotate
  2. 属性名_CSS -- 属性选择器
  3. PCA与LDA两种降维方法原理的简要对比
  4. 【docker脚本收藏】docker-compose部署hadoop、spark等大数据各组件
  5. Android Sqlite 数据初始化
  6. 1、play编程基础
  7. php类实例化js,php中如何实例化一个类_后端开发
  8. 使用 Anthem.NET 的常见回调(Callback)处理方式小结
  9. 48. PHP 页面静态化(1)
  10. unity 切换场景
  11. 通达信资金净流入公式_通达信资金净流量指标公式
  12. html分享到微博,前端实现分享内容到微博、QQ、QQ空间、豆瓣等平台
  13. Solidity教程:初学Solidity
  14. MIUI9线刷包精简
  15. linux 的tac命令,每天学一个 Linux 命令(102):tac
  16. Android BLE GATT CONN LMP TIMEOUT 0x22
  17. PAT 乙级 1065 单身狗 (25 分)
  18. 分享几个搜索电子书网站
  19. iTween基础之Fade(淡入淡出)
  20. 有关ros kinetic无法安装报错unmet dependencies及解决

热门文章

  1. mysql 数据导出语句_MySQL 数据导出
  2. python email 附件_使用python调用email模块实现附件发送
  3. android实现双向绑定,Android使用DataBinding实现双向绑定(一)
  4. quartz可以指定方法名吗_2020象限仪流星雨肉眼可以看见吗?象限仪座流星雨观测方法...
  5. 苹果如何分屏_玩转mac—苹果电脑操作教程
  6. MATLAB基本运算
  7. 英国PHP轴承,php – 纵向宽度将如何影响轴承
  8. java十六进制与字符串_JAVA十六进制与字符串的转换方法
  9. 斯坦福机器学习公开课笔记--神经网络的学习
  10. 麦亡9什么时候能装鸿蒙系统,距断供不到10天 麒麟9000即将绝版 华为大招来了:不止鸿蒙2.0...