2011-07-04 11 views
1

奇妙なことです。私が[tableView reloadData]を呼び出した後、indexPath.section = 6で呼び出されていて、0ではないcellForRowAtIndexPathが呼び出されました。これはどのようにすることができ、どのように修正できますか?UItableView reloadDataは中央のセクションからテーブルをリロードします

+0

ReloadDataはテーブル全体をリロードします。あなたはセクション番号で混乱しています。メソッドにnslogを入れ、セクションnoを見てください。 gdbで第0セクションの前に第6セクションを作成する可能性があります。 –

答えて

1

テーブルビューを一番上にリセットし、ディスプレイを上から開始したい場合は、reloadを呼び出すことができます。

[yourtableview scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO]; 
+0

はい。それが問題でした。私の「リセット」ボタンは画面の一番下にありました。 reloadDataは、テーブルの可視部分のセクションのリロードをトリガします(下まで)。これは正しいです? – Misha

+0

はい、現在のオフセットに対してリロードします。 –

1

これはあなたのコードのためではありません。これはデフォルト動作で、cellForRowAtIndexPathの実行は、最後のセクションであるケース6とそのセクションの0行から始まります。

ところで、これで問題は発生しません。

+0

セクション6は最後のセクションではありません。問題は、最初のテーブルではなく、中央のセクションからテーブルのリロードが開始されることです。私に解決策を与えてくれてありがとう@Praveen。 – Misha

関連する問題