2011-12-11 10 views
0

テーブルビューのセルとセクションの挿入をアニメートすることができますが、フッターテキストを別のテキストまたは 'nil'のものに変更する必要があることがあります。 UISwitchがトグルされたときにアニメーションを作成する必要があります。グループ化されたUITableViewのセクションフッターの変更をアニメーション

今は[tableView reloadData]を使用していますが、これは醜いので、セクションフッターが突然、アニメーションなしで変更されます。例えば、Personal Hotspotをオンにすると、Appleは何とかこれをアニメーション化します。セクションフッターはわずかに変更され、この変更はアニメーション化されます。

どうすれば同じ効果を得ることができますか?

答えて

1

-tableView:titleForFooterInSection:にコードを書き込んで、UISwitchに応じて調整すると仮定すると、空の更新ブロックをテーブルビューに送信して、アニメーションでリロードすることができます。

[self.tableView beginUpdates]; 
[self.tableView endUpdates]; 
+0

これはデータソースをリロードしますか?フッターを変更しているので、データソースをリロードする必要があります。 – iMaddin

+0

これはややうまくいきますが、UISwitchを変更した後にフッターテキストをnilに設定すると、フッターの高さは正しく変更されますが、テキストはそこに残ります(NSLogはそれはゼロだと言います)。 – iMaddin

+1

ここに考えがあります。 '-tableView:titleForFooterInSection:'を使うのではなく、セクションフッター用のラベルを含むUIViewを作成し、 '-tableView:viewForFooterInSection:'を使って条件付きでテーブルビューに提供する方が柔軟性があります。フッタービューを直接管理しているので(タイトルにプラグインしてテーブルビューでそれを処理させるのではなく)、ラベルの付いたビューからフッターがまったくない可能性があることを正しくアニメーション化する必要があります。 –

関連する問題