更新: これは iOS 8.0 以降で修正されました。詳細については、私の受け入れられた回答を参照してください。
行をスワイプして削除できるiOS 7 UITableViewがあります。私は削除を処理しています:
tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
と:
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationTop];
テーブルの最後の行を除いて、すべての行が正しいアニメーションで削除されます。ユーザーがスワイプして削除ボタンを表示し、それをタップすると、セルが画面から完全に左にスライドしますが、削除ボタンが表示されたままの白いセルが数十分の数秒間残った後、突然消えます。これはすべてのセルで発生しているように見えますが、他のすべてのセルには下にスライドする行があり、それを覆っています。
これは、問題の行がテーブル内の唯一の行である場合にも発生し、行だけではなくセクション全体を削除します。セクション ヘッダーはスライドして忘れ去られますが、削除ボタンのある白いセルは少しの間残ります。
この最後のセルには、他のセルと同じ UITableViewRowAnimationTop アニメーションが必要です。何が起こっているかについてのアイデアはありますか?