同様の質問を見つけましたが、回答がありません (申し訳ありませんが、回答が機能しません)。
だから私はテーブルをグループ化し、代わりにコンテンツの更新をアニメーション化したいと考えてい[tableView reloadData]
ます。次のコードを使用してそれを行います。
// Data source already updated here, but reloadData wasn't called
[self.tableView beginUpdates];
[self.tableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationMiddle];
[self.tableView endUpdates];
アニメーションの例を 2 つアップロードしました。
- プレーン: http://cl.ly/3u1M3l1w3V3J (スローモーション)
- グループ化: http://cl.ly/1O3Z2M280n0z (スローモーション)
ご覧のとおり、違いは非常に大きいです。コードはまったく変更せず、ストーリーボードの tableView スタイルを変更するだけです。
UITableView と UITableViewCell をサブクラス化し、CoreAnimation を使用して独自のアニメーションを実装する以外に方法はないのでしょうか?