1

同様の質問を見つけましたが、回答がありません (申し訳ありませんが、回答が機能しません)。

だから私はテーブルをグループ化し、代わりにコンテンツの更新をアニメーション化したいと考えてい[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 つアップロードしました。

ご覧のとおり、違いは非常に大きいです。コードはまったく変更せず、ストーリーボードの tableView スタイルを変更するだけです。

UITableView と UITableViewCell をサブクラス化し、CoreAnimation を使用して独自のアニメーションを実装する以外に方法はないのでしょうか?

4

1 に答える 1

0

テーブルの行をアニメーション化する場合、CoreAnimation を使用して独自のアニメーションを実装する必要はありません。

UITableView は、単にセクションをリロードするだけでなく、はるかに高度なアニメーションをサポートしています。それらを確認することをお勧めします。

ビデオの行をシャッフルしているので、moveRowAtIndexPath:toIndexPath:(UITableViewで)見てください。あなたはそれへの呼び出しを と の中に入れbeginUpdatesますendUpdates

再シャッフルの前後の順序を知ることで、すべての行を新しい場所に移動し、正しい場所にスライドさせることができます。

各行をどこに置くべきかを理解するには少し考えが必要ですが、完全にカスタム ソリューションを展開するよりもはるかに簡単です。

于 2012-10-02T12:27:37.180 に答える