0

私の実験では、最初UITableViewCellに tableView を参照する必要があります。いくつかのアクションで、画像と他のいくつかのセル プロパティを設定し、tableView がスクロールされてもこのセルのみの状態を維持する必要があります。このプロパティはすべて、再利用により、スクロールによって null になる可能性があります (実際にはそうです)。セルが画面に表示されるたびにこのプロパティを設定するには、「-cellForRowAtIndexpath」内で次を使用して最初のセルをキャッチしようとしました:

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

しかし、このように見えますが、次のスクロール可能な「画面」で次の最初のセルをすべてキャッチすることしかできません。では、最初の UITableView セルへの参照を取得するにはどうすればよいですか?

4

2 に答える 2

2

私の理解が正しければ、(0, 0) のセルが表示されようとしている場合、何か特別なことをしようとしていますよね? その場合は、次のようにUITableViewDelegatetableView: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

「最初の」テーブル ビュー セルはありません。通常、テーブル ビュー全体で 1 つのセルを使用してパフォーマンスを向上させます。

独自のセル再利用システムを実装することで、これを変更できます (ドキュメントで再利用を検索してください)。しかし、一般的に、セルは、テーブル ビューの特定のインデックスに関連するデータを格納する場所として不適切です。

于 2014-04-06T22:52:22.847 に答える