テーブルを更新する前に、テーブル データソースには 1 行のセクションが 1 つしかありません。
- セクション 0
- 行 [0,0]
更新後、データ ソースはさらに 2 つのセクションを返します。それぞれに 1 つの行しかありません。
- セクション 0
- 行 [0,0]
- セクション 1
- 行 [1,0]
- 第2節
- 行 [2,0]
次のコードを使用して、テーブルの更新をアニメーション化します。
// テーブルをリロードせずに、テーブル データ ソースを更新します UpdateTable(); TableView.BeginUpdates(); // セクション 1 と 2 を挿入 TableView.InsertSections(NSIndexSet.FromNSRange(新しい NSRange(1, 2)), UITableViewRowAnimation.Fade); // 新しいセクションごとに 1 つずつ、2 つの新しい行を挿入します (行 [1,0] と [2,0]) TableView.InsertRows(新しい NSIndexPath[] { NSIndexPath.FromRowSection(0, 1), NSIndexPath.FromRowSection(0, 2) }, UITableViewRowAnimation.Fade); TableView.EndUpdates();
ただし、セクション 1 とその行のみがアニメーション化されます。セクション 2 (行 [2,0]) はすぐに表示され、少しも移動/フェードしません。また、「スローアニメーション」をオンにして確認しました。
このコードの何が問題になっていますか?
編集:言及するのを忘れていましたが、InsertRows
コールを省略した場合にも問題が存在します。サムの回答によると、これは不要です。