numberOfCellsInTableView

numberOfCellsInTableView

我正在使用CCTableView在cocos2dx中创建多个tableview。当我定义数据源方法“ numberOfCellsInTableView”时,我想为不同的TableViews返回不同的值。

所以我用了if-control语句。

但看来我无法正确检查病情。

我的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;


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

09-05 22:48