如何获取对当前UITableViewCell的引用

时间:2014-04-06 22:47:34

标签: ios objective-c uitableview reuseidentifier

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

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

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

2 个答案:

答案 0 :(得分: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:方法。

希望它有所帮助!

答案 1 :(得分:0)

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

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