我有一个CCTableView,我想使用多个自定义CCTableViewCells,但似乎dequeueCell将所有单元格视为相同。另一种选择是每行都有一个不同的单元格,但这不是高效的。
哦,这是cocos2dx v2.2
答案 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)
。希望这可以内置,因为它非常标准。
如果有人知道更好的方式,我可以接受建议!