2012-03-15 21 views
0

私はtableViewを含むアプリを持っています。 tableViewにはいくつかのセクションがあり、特定のセクションタイトルをタップすると、そのセクション内の行を表示および非表示にする必要があります。UITableViewCellを非表示にするには?

まず、セクションヘッダーにはジェスチャーデリゲートがないので、通常のテーブルセクションは使用できませんでした(そうでない場合を除きます)。

第2に、表のセルを表示して非表示にする最善の方法を見つけられません。私はすでにサブクラス化してcellForRowAtIndexPathを簡単にしました。もし私が[cell setHidden:YES]であれば、セルがあるはずの空白が表示され、私のフレーム/境界fuはそれを有効に使うのに十分ではありません。

第3に、理想的には、ソリューションでアニメーション(単純なスライドまたはスキッシュ)を使用できるようになります。

注:私はXcode 4.3とiOS SDK 5.0を使用しています。私のアプリはストーリーボードとARCを使用しています。

+0

"非表示"のセルだけを反映するようにdataSourceメソッドを調整し、 '[self.tableView reloadData]'のアニメーションを試してみましょう。 –

答えて

1

データソースを変更することが最善の方法ですが、残念ながらこれは常に可能なわけではありません(静的テーブルビューなど)。

非表示に設定することができますheightForRowAtIndexPathセルの高さに0を返します。

+0

データソースを変更するともっと簡単になります。私が誇りに思っていなかったコードのリファクタリングなので、win-win。 –

関連する問題