iOS:返回 UITableViewCell 时得到通知

iOS: Get notified when UITableViewCell is returned

我有一个包含多个单元格的 UITableView,显示有关地点的信息,包括指向这些地点的小罗盘箭头。

对于箭头,我有一个函数可以使用当前位置和航向计算方位,然后遍历 TableView 的每个可见单元格并旋转箭头。每当设备的位置或方向发生变化时都会调用此函数。

现在我想在返回新单元格时也调用该函数,并且还想传递单元格的索引,以便第一次只计算这个箭头。

如果我使用 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 单元格尚未返回...

我可以使用 viewDidScroll 函数并根据滚动方向处理第一个或最后一个可见单元格,但如果没有新单元格可见,也会调用该函数。

是否有机会在单元格返回时收到通知以及它是哪个单元格?

您可以改用 tableView:willDisplayCell:forRowAtIndexPath: 委托方法。来自文档:"A table view sends this message to its delegate just before it uses cell to draw a row, thereby permitting the delegate to customize the cell object before it is displayed".