UITableView 中的称重传感器

Load cells in UITableView

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

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

我怎样才能做到这一点?

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

一种方法是跟踪显示了哪个单元格,然后手动加载 +1 and/or -1 索引。

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

适合你的延迟加载,这意味着第一个是可见的,当向下滚动时第二个项目应该准备好了。

//存储所有项

NSArray *allItems = @[].mutableCopy;

//加载前两个并存入allItems

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

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

1) path.section 是可见单元格

NSIndexPath *path = [tableView indexPathForCell:aCell];

2) allItems 计数是您加载的数据数量

allItems.count = path.section + 1;

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

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