iPhone开发 - 如何在运行时找到当前显示的顶级单元格在UITableView中?

时间:2011-08-10 18:38:58

标签: iphone uitableview

有没有办法知道目前正在显示哪些单元格?我猜测可能存在某种类型的数组属性,用于存储当前在屏幕上的单元格,最顶层的单元格在数组中具有最低的索引,或者沿着这些行的某些东西。那里有这样的东西吗?如果没有,我怎么能搞清楚这个呢?

4 个答案:

答案 0 :(得分:2)

visibleCellsindexPathsForVisibleRows正是您要找的。

  • visibleCells返回UITableViewCell个对象的数组。

  • indexPathForVisibleRows返回NSIndexPath个对象的数组。

答案 1 :(得分:2)

您可以使用-[UITableView indexPathsForVisibleRows],它为所有可见行返回NSIndexPath的NSArray。如果您需要访问实际的单元格,可以在单个NSIndexPath上使用-[UITableView cellForRowAtIndexPath:],或者可以使用-[UITableView visibleCells]来获取实际单元格的数组。

答案 2 :(得分:0)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath中,尝试将indexPath附加到您要显示的内容中?

而不是cell = something;,而是cell = [NSString stringWithFormat:@"%@ - %d", something, indexPath];

答案 3 :(得分:0)

UITableViewCell *thisCell = (UITableViewCell*)[tableView cellForRowAtIndexPath:[myArray objectAtIndex:0]];

然后,thisCell是一个实际的单元格,因此您可以调用thisCell.textLabel.text之类的东西,或者单元格的任何其他属性。