【求助】关于CCTableView

想问下大家 如何动态改变CCTableView中CCTableViewCell的高度

比如一个纵向的列表,点击其中一项以后,这一项会展开

我在点击事件中是这样写的

float fOffset = table->minContainerOffset().y + cell->getIdx() * m_cellSizeIdle.height - table->getViewSize().height / 2;


    if (fOffset > table->maxContainerOffset().y)
    {
        fOffset = table->maxContainerOffset().y;
    }
    if (fOffset < table->minContainerOffset().y)
    {
        fOffset = table->minContainerOffset().y;
    }

    UiTableCell *tempCell = (UiTableCell *) cell;
    mSelectedIndex = tempCell->getIdx();    //在tableCellSizeForIndex中 判断是否选中,选中则返回叫大的size
    for (int i = 0; i < table->getChildrenCount(); i ++)
    {
        m_pTableView->updateCellAtIndex(i);
    }
    tempCell->setSelected(true);
    table->setContentOffsetInDuration(ccp(0, fOffset), 0.5);
    

    CCLog("select index :%d,offset :%f",mSelectedIndex, fOffset);


```


我这样写以后没用

求各位大神指导

你得点击事件表示看不懂……你要展开的话,大概就是改变cell的大小,有个获取cell大小的函数……重载的时候你要根据id来返回cell的大小……如果点击cell,则获取大小的函数获取的值应该是展开的大小,估计需要点击完调用update这个表的函数……

= =! 在cocos2d::CCSize UiRankLayer::tableCellSizeForIndex( cocos2d::extension::CCTableView *table, unsigned int idx)里面重写,我返回展开的大小,然后reloadData()。这时候tableview回到最开始的地方,然后我设置offse跳转 不过还是不对 :8: