Cocos2d-xのCCTableViewにも同様の機能があるかと思って調べたのですが、(僕が調べた限りでは)どうやらそういった機能はなさそう…。
自分でなんとかするしかないようです。
とりあえず、実現できそうだったのでやり方をメモ。
- ヘッダーとして表示したいViewのインスタンスを用意する
- 開放されないようにretain()しておく
- 使わなくなったらrelease()する
- CCTableViewDataSource#tableCellAtIndex()で返却するViewを選択する
- idxが0のときは、ヘッダーのインスタンスを返却
- idxが0以外のときは、その他のインスタンスを返却。CCTableView#dequeueCell()したり、create()したり。
- CCTableView#dequeueCell()でヘッダーのインスタンスが返ってきたら使わないようにする。もっかいdequeueCell()したり、create()したり。
たぶんコレできちんと再利用されるはず。
(ソースがなくて申し訳ない)
タグ:cocos2d-x