42

次に作りたい:

単語(AZ)を表示する必要があるUITableViewがあります。

現在、ビューが読み込まれたときに、表示されたセルが1つあります(これは正しいです)。最初のセルには、配列の単語の最初の単語が表示されます。

目的:配列から10ワードを表示する必要があるセルに移動したいのですが、問題は、indexPath.row = 10のセルが存在しないことです(まだスクロールしていないため、これは正しいです)。

1セルから10セルに移行するための正しい待機とは何ですか。

セルの作成に使用しない場合はdequeueReusableCellWithIdentifier、それを実行して問題を解決できると思いますが、これはデバイスメモリの問題を意味します。

言い換えれば、私は作る必要がありますscrollToRowAtIndexPath

ありがとう!

4

3 に答える 3

86

あなたは方法を特定する権利がありますscrollToRowAtIndexPath。したがって、実行する必要があるのは、移動先の行を使用して新しいIndexPathを作成することだけです。たとえば、行インデックス= 10:

[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:10 inSection:indexPath.section] 
             atScrollPosition:UITableViewScrollPositionMiddle animated:NO];
于 2012-04-22T17:39:29.587 に答える
2

表示する必要がある行を特定して (たとえば、以下では forRow です)、その行をリロードできます。それが完了すると、その行にスクロールできます。

let moveToIndexPath = NSIndexPath(forRow: forRow, inSection: 0)
self.tableView.reloadRowsAtIndexPaths([moveToIndexPath], withRowAnimation: .None)
self.tableView.scrollToRowAtIndexPath(moveToIndexPath, atScrollPosition: atScrollPosition, animated: true)
于 2015-12-14T14:57:17.493 に答える