继承
public cocos2d::extension::CCTableViewDataSource, public cocos2d::extension::CCTableViewDelegate
重写函数
virtual void scrollViewDidScroll(cocos2d::extension::CCScrollView* view);
virtual void scrollViewDidZoom(cocos2d::extension::CCScrollView* view);
virtual void tableCellTouched(cocos2d::extension::CCTableView* table, cocos2d::extension::CCTableViewCell* cell);
virtual cocos2d::CCSize tableCellSizeForIndex(cocos2d::extension::CCTableView *table, unsigned int idx);
virtual cocos2d::extension::CCTableViewCell* tableCellAtIndex(cocos2d::extension::CCTableView *table, unsigned int idx);
virtual unsigned int numberOfCellsInTableView(cocos2d::extension::CCTableView *table);
void HelloWorld::scrollViewDidScroll(cocos2d::extension::CCScrollView* view) {
};
void HelloWorld::scrollViewDidZoom(cocos2d::extension::CCScrollView* view) {
}
void HelloWorld::tableCellTouched(cocos2d::extension::CCTableView* table, cocos2d::extension::CCTableViewCell* cell){
CCLOG("cell touched at index: %i", cell->getIdx());
}
cocos2d::CCSize HelloWorld::tableCellSizeForIndex(cocos2d::extension::CCTableView *table, unsigned int idx){
return CCSizeMake(100, 130);
}
cocos2d::extension::CCTableViewCell* HelloWorld::tableCellAtIndex(cocos2d::extension::CCTableView *table, unsigned int idx){
CCTableViewCell *cell = table->dequeueCell();
if(!cell){
cell = new CCTableViewCell();
cell->autorelease();
}
cell->removeAllChildrenWithCleanup(true);
for (int i=0; i<3; i++) {
CCSprite *sprite=CCSprite::create("CloseNormal.png");
sprite->setAnchorPoint(CCPointZero);
sprite->setPosition(ccp(0,0));
cell->addChild(sprite);
}
return cell;
}
unsigned int HelloWorld::numberOfCellsInTableView(cocos2d::extension::CCTableView *table){
return 20;
}
用数据源创建TableView,并添加到Layer上
CCTableView* tableView = CCTableView::create(this, CCSizeMake(250, 260));//this是数据源的对象,因为这个时候该类继承自CCTableViewDataSource,所以用this
tableView->setDirection(kCCScrollViewDirectionHorizontal);
tableView->setPosition(ccp(20,size.height/2-30));
tableView->setDelegate(this);//触摸响应
this->addChild(tableView);
tableView->reloadData();