新手求助,急,tableview问题

按照教程把所有代码都写好了,能显示,但是所有cell重叠在一起,不知道为什么!!!!!求帮助

部分代码:

bool HeroView::init()
{
if (!Layer::init()) {
return false;
}
Size size = Director::getInstance()->getVisibleSize();
log(“screen width: %f + height: %f”,size.width, size.height);
auto pTableView = TableView::create(this, size);
pTableView->setDirection(ScrollView::Direction::VERTICAL);
pTableView->setPosition(Point::ZERO);
pTableView->setDelegate(this);
pTableView->setVerticalFillOrder(TableView::VerticalFillOrder::TOP_DOWN);
this->addChild(pTableView);
pTableView->reloadData();

return true;
}

void HeroView::tableCellTouched(TableView *table, TableViewCell *cell)
{
log(“cc click: %ld” , cell->getIdx());
}

cocos2d::Size HeroView::tableCellSizeForIndex(TableView *table)
{
return Size(Director::getInstance()->getVisibleSize().width, 100);
}

TableViewCell* HeroView::tableCellAtIndex(TableView *table, ssize_t idx)
{
auto pString = cocos2d::String::createWithFormat("%ld", idx+1);
log(“cell idx: %ld”,idx);
TableViewCell *pCell = table->dequeueCell();
if (!pCell) {
log(“cell create idx: %ld”,idx);
pCell = new TableViewCell();
pCell->autorelease();
auto pSprite = CCSprite::create(StringUtils::format(“new%ld.png”,++idx), Rect(0, 0, Director::getInstance()->getVisibleSize().width, 100));
pSprite->setAnchorPoint(Point::ANCHOR_TOP_LEFT);
pSprite->setPosition(Point::ZERO);
pCell->addChild(pSprite);

    auto cLabel = Label::createWithSystemFont(pString->getCString(), "Arial", 20.0);
    cLabel->setPosition(Point::ZERO);
    cLabel->setAnchorPoint(Point::ANCHOR_TOP_LEFT);
    cLabel->setTag(123);
    pCell->addChild(cLabel);
}
else
{
    log("cell exist z:  %d",pCell->getLocalZOrder());

log(“cell exist idx: %ld”,idx);
auto pLabel = (Label*)pCell->getChildByTag(123);
pLabel->setString(pString->getCString());
}

return pCell;

}

long HeroView::numberOfCellsInTableView(TableView *table)
{
return 4;
};

long HeroView::numberOfCellsInTableView(TableView *table)
{
return 4;
};
这个函数的返回值有问题,你改成ssize_t就好了,试试吧。