如何使用多个自定义CCTableViewCell在CC TableView中将Cell出列?

时间:2014-07-02 20:40:05

标签: c++ cocos2d-x

我有一个CCTableView,我想使用多个自定义CCTableViewCells,但似乎dequeueCell将所有单元格视为相同。另一种选择是每行都有一个不同的单元格,但这不是高效的。

哦,这是cocos2dx v2.2

1 个答案:

答案 0 :(得分:0)

我实际上提出了一个不错的解决方案,但它需要将此成员添加到CCTableView

CCTableViewCell *CCTableView::dequeueCellWithTag(int nTag)
{
    CCTableViewCell *cell = NULL;

    for (int i = 0, len = m_pCellsFreed->count(); i < len; i++) {
        CCTableViewCell *tempCell = (CCTableViewCell*)m_pCellsFreed->objectAtIndex(i);
        if (tempCell->getTag() == nTag) {
            cell = tempCell;
            cell->retain();
            m_pCellsFreed->removeObjectAtIndex(i);
            cell->autorelease();
            break;
        }
    }

    return cell;
}

基本上,您在创建单元格后{@ 1}},然后cell->setTag(tagId)。希望这可以内置,因为它非常标准。

如果有人知道更好的方式,我可以接受建议!