UITableView 中的称重传感器

Posted

技术标签:

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

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

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

我怎样才能做到这一点?

【问题讨论】:

【参考方案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]后显示。

【讨论】:

以上是关于UITableView 中的称重传感器的主要内容,如果未能解决你的问题,请参考以下文章

Objective-C / xib 的称重传感器 / 需要解释

水平 UITableView 中的垂直 UITableView

西门子1200与陀螺仪和称重传感器的RTU轮询通讯

称重仪表modbus协议

基于ESP8266 HX711 克级单位称重式压力传感器(接入阿里云物联网平台)—— 看到有点意思,所以我也照着做了一个

分段 UITableView 中的按钮标记问题