0

UITableView 行の 1 つだけ (2 行目) にアコーディオンを実装したいのですが、カスタム クラスやカスタム セル クラスを使用せずにこれを実装したいと考えています。アコーディオン行をクリックすると、その行の下に「n」行が追加されます。また、その行の didSelectRow() デリゲート メソッドをその行と他の行に対して個別に追跡したいと考えています。それを行うための最良の方法は何ですか?

重複の可能性

4

1 に答える 1

2

メソッドの助けを借りて、カスタムセルなしでプレーンUITableViewでこれを1回行いましたtableView:viewForHeaderInSection:。この方法を使用して、各セクションのヘッダーを、行を折りたたむ/展開するためのボタンとして設計しました。

特定のセクションが展開されているかどうか、つまりその行が表示されているかどうかを示すブール値の配列を維持する必要があります。この配列は、すべての値が false で始まる必要があります。次に、セクション ヘッダーがクリックされたときに、配列内のその値を true に変更する必要があります。

このメソッドtableView:numberOfRowsInSectionは、セクションが折りたたまれている場合は 0 を返し、セクションが展開されている場合はそのセクションの行数を返します。

最後に、reloadSections:withRowAnimation:メソッドを使用して展開/折りたたみをアニメーション化する必要があります。

于 2013-04-14T13:10:48.423 に答える