有没有一种简单的方法来观察UITableView中的可见细胞?

时间:2010-08-19 06:05:42

标签: iphone cocoa-touch uitableview

我需要跟踪UITableView中的可见单元格,因为当表示特定数据的单元格变得可见时,需要发生某些事件。对于UITableView-indexPathsForVisibleRows-visibleCells似乎不符合KVO标准,并且没有UITableViewDelegate方法可以为通知可见单元格已更改提供挂钩。< / p>

有没有办法做到这一点,没有手动跟踪我自己的数组,每次插入/删除行,重新加载表或添加-tableView:cellForRowAtIndexPath:等方法时添加/删除对象?

3 个答案:

答案 0 :(得分:5)

UITableViewDelegate方法怎么样:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath

答案 1 :(得分:0)

没有黑客/子类化UITableView或UITableViewCell,答案似乎是否定。

答案 2 :(得分:0)

如果你没有对表本身做太多奇特的事情,比如重新安排和删除/插入行,你可以使用scrollviewDidScroll:方法,以及tableview发送的其他scrollview委托方法。

在该方法中,您可以调用visibleCells并从那里开始。