1CCTableView的使用,TableView响应和小格子tableView实现
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了1CCTableView的使用,TableView响应和小格子tableView实现,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4121字,纯文字阅读大概需要6分钟。
内容图文
1 CCTableView的使用
T26TableView.h |
#ifndef __T26TableView_H__ #define __T26TableView_H__
#include "cocos2d.h" #include "cocos-ext.h" #include "TBack.h" USING_NS_CC; USING_NS_CC_EXT;
class T26TableView :public TBack, public CCTableViewDataSource { public: CREATE_FUNC(T26TableView); bool init(); static CCScene * scene();
CCArray* _cells;
//获取指定的CCTableViewCell virtual CCTableViewCell* tableCellAtIndex(CCTableView *table,unsignedintidx) { return (CCTableViewCell*)_cells->objectAtIndex(idx); }
//获取CCTableViewCell的个数 virtual unsignedint numberOfCellsInTableView(CCTableView *table) { return _cells->count(); }
//获得Cell的大小 virtual CCSizetableCellSizeForIndex(CCTableView *table,unsignedintidx) { return cellSizeForTable(table); }
virtual CCSizecellSizeForTable(CCTableView *table) { return CCDirector::sharedDirector()->getWinSize(); }
};
#endif |
T26TableView.cpp |
#include "T26TableView.h"
CCScene *T26TableView::scene() { CCScene * scene = CCScene::create(); T26TableView * layer = T26TableView::create(); scene->addChild(layer); return scene; }
bool T26TableView::init() { TBack::init();
CCSize winSize = CCDirector::sharedDirector()->getWinSize();
_cells = CCArray::create(); _cells->retain(); for (inti = 0; i < 5; ++i) { //创举CCTableViewCell CCTableViewCell*cell = newCCTableViewCell; //放入存储CCTableViewCell的CCArray中去 _cells->addObject(cell); cell->release();
//每个格子中添加精灵 CCSprite* sprite = CCSprite::create("HelloWorld.png"); cell->addChild(sprite); sprite->setPosition(ccp(winSize.width / 2,winSize.height / 2)); }
//使用了回调 CCTableView* view = CCTableView::create(this,winSize); addChild(view); //设置滚动的方向 view->setDirection(kCCScrollViewDirectionHorizontal); //从数据源重新加载,视图将会被刷新 view->reloadData();
return true; } |
运行结果:
|
2 TableView响应和小格子tableView实现
T26TableView.h |
#ifndef __T26TableView_H__ #define __T26TableView_H__
#include "cocos2d.h" #include "cocos-ext.h" #include "TBack.h" USING_NS_CC; USING_NS_CC_EXT;
class T26TableView :public TBack, public CCTableViewDataSource, public CCTableViewDelegate { public: CREATE_FUNC(T26TableView); bool init(); static CCScene * scene();
//数据源支持的虚函数 CCArray* _cells;
//获取指定的CCTableViewCell virtual CCTableViewCell* tableCellAtIndex(CCTableView *table,unsignedintidx) { return (CCTableViewCell*)_cells->objectAtIndex(idx); }
//获取CCTableViewCell的个数 virtual unsignedint numberOfCellsInTableView(CCTableView *table) { return _cells->count(); }
//获得Cell的大小,cctableView的某个格子的大小可以不一样 virtual CCSizetableCellSizeForIndex(CCTableView *table,unsignedintidx) { CCLog("顺序是:idx = %d",idx);
//当时第3个格子的时候相对其它的格子的空间大一下 if (idx == 2) { return CCSize(80, 57); }
return cellSizeForTable(table); }
virtual CCSizecellSizeForTable(CCTableView *table) { return CCSize(57, 57); }
//点击代理函数 virtual voidtableCellTouched(CCTableView*table, CCTableViewCell*cell) { CCLog("idx=%d",cell->getIdx()); } virtual voidscrollViewDidScroll(CCScrollView*view){} virtual voidscrollViewDidZoom(CCScrollView*view){} };
#endif |
T26TableView.cpp |
#include "T26TableView.h"
CCScene *T26TableView::scene() { CCScene * scene = CCScene::create(); T26TableView * layer = T26TableView::create(); scene->addChild(layer); return scene; }
bool T26TableView::init() { TBack::init();
CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCSize cellSize = CCSize(57, 57);
_cells = CCArray::create(); _cells->retain(); for (inti = 0; i < 5; ++i) { //创举CCTableViewCell CCTableViewCell*cell = newCCTableViewCell; //放入存储CCTableViewCell的CCArray中去 _cells->addObject(cell); cell->release();
//每个格子中添加精灵 CCSprite* sprite = CCSprite::create("Icon.png"); cell->addChild(sprite); sprite->setPosition(ccp(cellSize.width / 2,cellSize.height / 2)); }
//使用了回调 CCTableView* view = CCTableView::create(this,CCSize(cellSize.width * 3,cellSize.height)); addChild(view); //设置滚动的方向 view->setDirection(kCCScrollViewDirectionHorizontal); //从数据源重新加载,视图将会被刷新 view->reloadData(); view->setPosition(ccp(200, 200));
// 点击处理 view->setDelegate(this);
return true; } |
运行结果:
|
|
原文:http://blog.csdn.net/tototuzuoquan/article/details/40956399
内容总结
以上是互联网集市为您收集整理的1CCTableView的使用,TableView响应和小格子tableView实现全部内容,希望文章能够帮你解决1CCTableView的使用,TableView响应和小格子tableView实现所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。