2013年12月24日

[Cocos2d-x] CCTableViewでヘッダーを使いたい

iOSのUITableView(?)にはヘッダー・フッターを扱う機能があるらしいですね。
Cocos2d-xのCCTableViewにも同様の機能があるかと思って調べたのですが、(僕が調べた限りでは)どうやらそういった機能はなさそう…。
自分でなんとかするしかないようです。
とりあえず、実現できそうだったのでやり方をメモ。


  • ヘッダーとして表示したいViewのインスタンスを用意する

    • 開放されないようにretain()しておく

    • 使わなくなったらrelease()する



  • CCTableViewDataSource#tableCellAtIndex()で返却するViewを選択する

    • idxが0のときは、ヘッダーのインスタンスを返却

    • idxが0以外のときは、その他のインスタンスを返却。CCTableView#dequeueCell()したり、create()したり。

    • CCTableView#dequeueCell()でヘッダーのインスタンスが返ってきたら使わないようにする。もっかいdequeueCell()したり、create()したり。





たぶんコレできちんと再利用されるはず。
(ソースがなくて申し訳ない)

タグ:cocos2d-x
posted by t2low at 22:00| Cocos2d-x