美文网首页
iOS 预加载和杂七杂八

iOS 预加载和杂七杂八

作者: 肖显圣 | 来源:发表于2020-11-30 00:17 被阅读0次

当产品把用户需求放在第一位的时候我就知道这事情不不简单,前些日子发现系统的一些可以用来实现预加载的方法;
如下:

// Display customization
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath;
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section API_AVAILABLE(ios(6.0));
- (void)tableView:(UITableView *)tableView willDisplayFooterView:(UIView *)view forSection:(NSInteger)section API_AVAILABLE(ios(6.0));
- (void)tableView:(UITableView *)tableView didEndDisplayingCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath*)indexPath API_AVAILABLE(ios(6.0));
- (void)tableView:(UITableView *)tableView didEndDisplayingHeaderView:(UIView *)view forSection:(NSInteger)section API_AVAILABLE(ios(6.0));
- (void)tableView:(UITableView *)tableView didEndDisplayingFooterView:(UIView *)view forSection:(NSInteger)section API_AVAILABLE(ios(6.0));

如即将出现的行、头、尾,来实现当数据将要显示完,再次加载数据

//即将显示的行
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    //当 当前数据源的个数 和 数据源总数一致时 返回
    if (_num_rows >= _dataMutableArr.count)
    {
        return;
    }
    //当前的行数 小于 数据源个数的百分之八十 - 重新加载
    if (indexPath.row > _dataMutableArr.count * 0.8)
    {
        [_tableView.mj_footer beginRefreshing];
    }
}

获取当前Cell的位置系统方法

- (nullable NSIndexPath *)indexPathForRowAtPoint:(CGPoint)point;                         // returns nil if point is outside of any row in the table
- (nullable NSIndexPath *)indexPathForCell:(UITableViewCell *)cell;                      // returns nil if cell is not visible

获取当前屏幕顶部即将出现的Cell的位置,监听滑动方法

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
      //获取当前滑动到屏幕顶端的区数
      NSIndexPath * indexPath = [_tableView indexPathForRowAtPoint:scrollView.contentOffset];
      XNLog(@"滑动到第%ld区,第%ld行",indexPath.section,indexPath.row);
}

获取当前屏幕中部即将出现的Cell,同理

只需要改变
CGPointMake(0, scrollView.contentOffset.y + 当前tableView的一半)

相关文章

  • iOS 预加载和杂七杂八

    当产品把用户需求放在第一位的时候我就知道这事情不不简单,前些日子发现系统的一些可以用来实现预加载的方法;如下: 如...

  • 预加载与智能预加载 (VIA)

    预加载与智能预加载(iOS) 网络与性能 预加载无限滚动列表Threshold惰性加载智能预加载 总结 前两次的分...

  • 微信webview开发的那些坑

    安卓和ios不同的视频播放特性 安卓刷新无效,缓存 图片预加载

  • iOS 预加载

    最近看到一篇文章介绍 通过runtime进行资源预加载,因为项目中很多地方体验不是很好,借此研究一下、

  • iOS webview Hybrid资源文件预加载(NSURLP

    HybridPreLoading iOS webview Hybrid开发预加载 虽然NSURLCache可以实现...

  • 图片预加载

    背景 利用图片的预加载技术获得更好的用户体验 什么是有序预加载和无序预加载 jQuery插件的写法 图片预加载,预...

  • IOS 预加载与智能预加载

    本篇小结 这篇文章是 ASDK 系列中的最后一篇,文章会介绍 iOS 中几种预加载的方案,以及 ASDK 中是如何...

  • 预加载与智能预加载(iOS)

    前两次的分享分别介绍了 ASDK 对于渲染的优化以及 ASDK 中使用的另一种布局模型;这两个新机制的引入分别解决...

  • 预加载与智能预加载(iOS)

    前两次的分享分别介绍了 ASDK 对于渲染的优化以及 ASDK 中使用的另一种布局模型;这两个新机制的引入分别解决...

  • ViewPager+Fragment预加载和懒加载分析

    1 什么是fragment的预加载和懒加载? 预加载:viewpager显示当前fragment的时候,viewp...

网友评论

      本文标题:iOS 预加载和杂七杂八

      本文链接:https://www.haomeiwen.com/subject/knyqwktx.html