//头文件
#include
#include
#include "cocos2d.h"
#include "cocos-ext.h"
using namespace cocos2d;
USING_NS_CC_EXT;
USING_NS_CC;
class MyTableView:public Layer, public TableViewDelegate, public TableViewDataSource
{
public:
static cocos2d::Scene* createScene();
Vector cell_vector;
virtual bool init();
virtual void tableCellTouched(TableView* table, TableViewCell* cell){};
virtual TableViewCell* tableCellAtIndex(TableView table, ssize_t idx)
{
return cell_vector.at(idx);
};
virtual ssize_t numberOfCellsInTableView(TableView *table)
{
return cell_vector.size();
};
virtual Size tableCellSizeForIndex(TableView *table, unsigned int idx)
{
return CCSizeMake(300,300);
};
virtual void scrollViewDidScroll(ScrollView view){};
virtual void scrollViewDidZoom(ScrollView* view){};
CREATE_FUNC(MyTableView);
};
//cpp
#include "HelloWorldScene.h"
USING_NS_CC;
using namespace std;
Scene* MyTableView::createScene()
{
Scene* scene=Scene::create();
Layer* layer=MyTableView::create();
scene->addChild(layer);
return scene;
}
bool MyTableView::init()
{
Size size=Director::getInstance()->getWinSize();
if(!Layer::init())
{
return false;
}
for(int i=0;i
{
TableViewCell* cell=new TableViewCell();
cell->autorelease();
cell_vector.pushBack(cell);
auto sprite=Sprite::create("CloseNormal.png");
sprite->setContentSize(Size(300,300));
sprite->setPosition(Point(size.width/2,size.height/2));
cell->addChild(sprite);
}
TableView* tableView=TableView::create(this,CCSizeMake(600,300));
tableView->setPosition(Point(size.width/2,size.height/2));
tableView->setDirection(ScrollView::Direction::VERTICAL);
tableView->reloadData();
tableView->setDelegate(this);
this->addChild(tableView);
return true;
}