cocos2dx:在CCTableViwe中返回多个numberOfCellsInTableView时出现问题

cocos2dx : Issue when returning multiple numberOfCellsInTableView in CCTableViwe?

本文关键字:numberOfCellsInTableView 问题 CCTableViwe 返回 cocos2dx      更新时间:2023-10-16

我正在使用CCTableView在cocos2dx中创建多个表视图。当我定义DataSource方法"numberOfCellsInTableView"时,我想为不同的TableView返回不同的值。

所以我使用了if控制语句。

但我似乎无法正确检查情况。

我的CCLayer类的inti方法中的代码如下:-

    CCLOG("init debug 10 %d",characterImageNameArray->count());
    numberOfRowsIncharacterTable = characterImageNameArray->count();
    this->characterTable = cocos2d::extension::CCTableView::create(this,cocos2d::CCSizeMake((winSize.width/6.0)-20, winSize.height-720.0));

其余的定义如下:-

unsigned int  numberOfCellsInTableView (cocos2d::extension::CCTableView * table)
{
    CCLOG("init debug 11 ");
    int rVal = 0;
    if (table==this->characterTable) {
        CCLOG("init debug 11a ");
        rVal = this->characterImageNameArray->count();
    }
    CCLOG("init debug 12 rVal %d",rVal);
    return rVal;
}

以下是控制台调试日志:-

Cocos2d: init debug 9
Cocos2d: init debug 10 6
Cocos2d: init debug 11 
Cocos2d: init debug 12 rVal 0
Cocos2d: init debug 11 
Cocos2d: init debug 12 rVal 0
Cocos2d: init debug 11 
Cocos2d: init debug 12 rVal 0

我不明白出了什么问题?

我还在场景中呈现不同的表视图,并且我采用了不同的方法。

我创建TableView* my_table_01 = Table_creation....然后,我使用TAG_TABLE_01作为my_table_01->setTag(TAG_TABLE_01);,依此类推,更改TAG。

当在numberOfCellsInTableView中,我决定检查表TAG的单元格数量为:

if (table->getTag() == ....) return number_cells_for_this_table;

您也可以对单元格大小使用相同的方法,并具有多个表视图。

相关文章:
  • 没有找到相关文章