0

在我的实验中,我需要先UITableViewCell在 tableView 中参考。通过一些操作,我需要设置图像和其他一些单元格属性,并保持这个唯一单元格的状态,即使 tableView 将被滚动。由于重用,所有这些属性都可能通过滚动(实际上它们是)为空。为了在每次单元格出现在屏幕上时设置此属性,在 `-cellForRowAtIndexpath' 内部,我尝试使用以下方法捕获第一个单元格:

UITableViewCell *firstCell = (UITableViewCell *)[atableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];

但看起来像这样我只能在下一个可滚动的“屏幕”上捕捉下一个第一个单元格。那么,我怎样才能获得对第一个 UITableView 单元格的引用?

4

2 回答 2

2

如果我理解正确,如果 (0, 0) 处的单元格即将显示,您正在尝试做一些特别的事情,对吗?如果是这种情况,您可以轻松实现UITableViewDelegate'tableView:willDisplayCell:forRowAtIndexPath:方法,如下所示:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
  if (indexPath) {
    // Do something special
  }
}

tableView:didEndDisplayingCell:forRowAtIndexPath:如果您需要撤消操作,也有相应的方法。

希望能帮助到你!

于 2014-04-07T04:19:40.913 回答
0

没有“第一个”表格视图单元格。整个表格视图通常使用单个单元格来提高性能。

您可以通过实现自己的单元重用系统来改变这一点(在文档中搜索重用)。但通常单元格是存储与表视图中特定索引相关的任何数据的错误位置。

于 2014-04-06T22:52:22.847 回答