【问题标题】:Load cells in UITableViewUITableView 中的称重传感器
【发布时间】:2015-02-01 12:39:18
【问题描述】:

我有带有单元格的 UITableView,我为每个部分使用页脚(高度 = 10pt),为每个部分和单元格使用标题(高度 = 64pt)(高度 = self.view.frame.size.hight - 64 - 10)。

TableView 仅在我启动应用程序时加载第一个单元格(因为第二个单元格在屏幕上不可见),但我想加载第一个和下一个单元格。当我滚动到第二行时,我想加载第三个单元格。

我怎样才能做到这一点?

【问题讨论】:

    标签: ios uitableview


    【解决方案1】:

    UITableView delegate methods 为您提供了几种方法来跟踪哪个单元格刚刚出现在屏幕上(即tableView:willDisplayCell:forRowAtIndexPath:)。

    一种方法是跟踪显示的单元格,并手动加载 +1 和/或 -1 索引。

    注意:您不应该直接加载UITableViewCells,而是应该加载它们应该显示的内容(根据 M.V.C)。

    【讨论】:

      【解决方案2】:

      你的懒加载套装,这意味着第一个可见,向下滚动时第二个项目应该准备好了。

      //存储所有项目

      NSArray *allItems = @[].mutableCopy;
      

      //加载前两个并存入allItems

      NSDate *first, *second;
      allItems = @[first,second];
      

      //向下滚动时检查哪个单元格可见,数据是否准备好

      1) path.section 是可见单元格

      NSIndexPath *path = [tableView indexPathForCell:aCell];
      

      2) allItems count 是你加载的数据个数

      allItems.count = path.section + 1;
      

      3) 如果allItems.count == path.section,则应该加载下一个数据,即当前可见数据的下一个。

      通过这两个条件,数据应该一直准备就绪。 每次加载[tableView reload]后显示。

      【讨论】:

        猜你喜欢
        • 2011-12-01
        • 2022-01-01
        • 1970-01-01
        • 2019-08-02
        • 1970-01-01
        • 2013-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多