私の例では、最初に1行の2つのセクションがあります。誰かがセクションの最初の行をクリックすると、このセクションの他のすべての行が挿入されます。
[tableView insertRowsAtIndexPaths:indexArray withRowAnimation:UITableViewRowAnimationTop];
これは正常に機能しますが、最初の行の背景を更新する必要があります。これも機能しますが、最初の行をリレーアウトする必要があります。setNeedsDisplayとsetNeedsLayoutを試しましたが、機能しません。reloadDateは正しい背景を表示しますが、スライド効果を破壊します。
私はこれの1つで行を更新できることを知っています:
[tableView reloadRowsAtIndexPaths:indexArrayReload withRowAnimation:UITableViewRowAnimationFade];
[tableView reloadRowsAtIndexPaths:indexArrayReload withRowAnimation:UITableViewRowAnimationNone];
しかし、それらは行の高さを一時的に変更します。実際のフェージング効果またはアニメーションなしのリロードが必要です。
これが状況の写真です:
編集:私はビデオを作りました: