サブビューとしてUITableViewを持つカスタムビューを実装しています。このカスタムビューは、前述のUITableViewのデリゲートでもあります。私の意図は、2つのレベルのセルを持つことです。上位レベルのものをクリックすると、折りたたまれて下位レベルのものが表示されます。
「カテゴリB」という名前のセルを押すと、次のようになります。
写真でわかるように、第1レベルのセルがクリックされると(-tableView:didSelectRowAtIndexPath:
呼び出されると)、テーブルが展開されます(テーブルに-insertRowsAtIndexPaths:withRowAnimation:
「サブカテゴリB1」を挿入するために使用しています)。
このカスタムビューを、内部のテーブルの表示コンテンツとまったく同じサイズにする必要があります。現在、新しいセルを挿入した後、カスタムビューに新しいUITableViewコンテンツの高さでフレームをリセットするように指示しています。
問題はアニメーションにあります。UITableView挿入アニメーションとカスタムビューのフレームを同期して高さを変更することができません。ビューを展開してから挿入をアニメーション化するか、最初に挿入をアニメーション化してからカスタムビューのフレームを変更することができます。
このアクションを同期して、単一のアニメーションに実行されるようにする方法はありますか?