CCTableView
今天用到TableView, 我就来记录一下....这些都是在网上找到了资料
//首先 继承 :
public cocos2d::extension::CCTableViewDelegate,
public cocos2d::extension::CCTableViewDataSource
//CCTableViewDelegate继承自CCScrollViewDelegate 方法可以空着,但一定要写
virtual void scrollViewDidScroll(cocos2d::extension::CCScrollView* view);
virtual void scrollViewDidZoom(cocos2d::extension::CCScrollView* view);
//下面TableView所用到的方法
//点击哪个cell 调用的方法 点击方法调用顺序( Highlight -> Unhighlight -> Touched )
virtual void tableCellTouched(cocos2d::extension::CCTableView* table, cocos2d::extension::CCTableViewCell* cell);
//每个cell的size
virtual cocos2d::CCSize cellSizeForTable(cocos2d::extension::CCTableView *table);
//生成cell
virtual cocos2d::extension::CCTableViewCell* tableCellAtIndex(cocos2d::extension::CCTableView *table, unsigned int idx);
//cell的数量
virtual unsigned int numberOfCellsInTableView(cocos2d::extension::CCTableView *table);
//按下去的时候调用的方法
virtual void tableCellHighlight(cocos2d::extension::CCTableView* table, cocos2d::extension::CCTableViewCell* cell);
//松开的时候调用的方法
virtual void tableCellUnhighlight(cocos2d::extension::CCTableView* table, cocos2d::extension::CCTableViewCell* cell);
//接下来是实现,首先创建TableView CCSize visibSize=CCDirector::sharedDirector()->getVisibleSize(); //传入自己,后面的size是TableView显示的大小 CCTableView *tableView=CCTableView::create(this, CCSizeMake(visibSize.width, visibSize.height)); //横向还是竖向 ( kCCScrollViewDirectionVertical 竖向 ; kCCScrollViewDirectionHorizontal 横向 ) tableView->setDirection(kCCScrollViewDirectionVertical); tableView->setPosition(CCPointZero); tableView->setDelegate(this); //call的id顺序 (kCCTableViewFillTopDown 从上到下 ; kCCTableViewFillBottomUp 从下到上) tableView->setVerticalFillOrder(kCCTableViewFillTopDown); //是否开启回弹 默认开启 tableView->setBounceable(true); ); tableView->reloadData();
unsigned int HelloWorld::numberOfCellsInTableView(CCTableView *table) { ; //显示10行 }
; // Tag值 CCTableViewCell* HelloWorld::tableCellAtIndex(CCTableView *table, unsigned int idx) { CCLOG("%d",idx); //idx 就是每个cell的下标,获取到下标就能知道点击的是那个call //当cell在屏幕外面时, 就被放入dequeueCell() 中 CCTableViewCell *cell = table->dequeueCell(); CCSprite *mSprite; if (!cell) { //如果没有就创建... cell = new CCTableViewCell(); cell->autorelease(); mSprite= CCSprite::create("cell.png"); mSprite->setAnchorPoint(CCPointZero); mSprite->setTag(m_iNodeTag); mSprite->setPosition(ccp(, )); cell->addChild(mSprite); CCLabelTTF *label = CCLabelTTF::create(string->getCString(), "Helvetica", 20.0); label->setPosition(CCPointZero); label->setAnchorPoint(CCPointZero); label->setTag(); cell->addChild(label); } else { //如果有了就获取tag值 mSprite = dynamic_cast<CCSprite *>(call->getChildByTag( iNodeTag )); CCLabelTTF *label = (CCLabelTTF*)cell->getChildByTag(); label->setString(string->getCString()); } //在这里写一个接口...改变各个cell return cell; }
CCSize CActivityLayer::cellSizeForTable(CCTableView *table) { //返回的是每一个cell 的size ); }
ps:剩下没写的函数..我这写的是空....有需求的看着上面的函数声明来写
CCTableView的更多相关文章
- 【Cocos2d-x for WP8 学习整理】(4)CCTableView 实现《天天爱消除》中的得分榜
接上回 CCScrollView 继续,在GUI 里还有个 CCScrollView 的子类---CCTableView . 这个名字应该是从 IOS 里的 UITableView来的,其实是跟WP8 ...
- cocos2d-x CCScrollView和CCTableView的使用(转载)
转载请注明来自:Alex Zhou的程序世界,本文链接:http://codingnow.cn/cocos2d-x/1024.html //============================== ...
- CCScrollView/CCTableView(CCTableViewDelegate CCTableViewDataSource CCTableView-滑动列表-游戏中大量使用 非常重要的一个类)
tableview scrollViewDidScroll函数中有一段 ---- 即---滑动tableview时触发的函数 : 会将全部显示的cell又一次刷新(刷新函数中调用了自己定义的ta ...
- cocos2d-x CCTableView
转自:http://www.cnblogs.com/dcxing/archive/2013/01/16/2862068.html CCTableView在游戏中一般用在背包这样场景或层中,当然也不止这 ...
- CCTableView的使用和注意事项
#include "cocos-ext.h" using namespace cocos2d::extension; class TableViewTestLayer: publi ...
- Cocos2d—X游戏开发之CCTableView详解(十一)
本来很早就想写关于CCTableView的文章,但是在基本功能实现之后呢,项目需求增加导致对这个控件的研究必须更加深入一点. 好的,现在开始介绍一下这个控件,在Cocos2d—X引擎中,这是一个仿制i ...
- CCTableView 简单样例
非常像android中的listview #pragma once; #include "cocos2d.h" using namespace cocos2d; //使用CCTab ...
- Cocos2d-x CCTableView实现列表
在ios程序设计中,会大量使用到tableview视图(UITableView),那么在cocos2d-x中,如果需要类似的列表,该如何实现呢?在引擎中参照ios中的UITableView实现了一个叫 ...
- cocos2d-x关于CCTableView的“乱序问题”的理解
Cocos2d-x有一个不错的控件CCTableView.之前用的时候发现有cell的顺序错乱和重复出现的问题.后来仔细看了一下源码,发现是自己用法错误.但是网上有人说是一个bug,要改源码.我发现2 ...
- Cocos2d-X 使用CCTableView创建滚动视图
CCTableView和CCScrollView如创建滚动视图,CCTableView该函数将是更,制造更多麻烦 实例1:使用CCTableView创建滚动视图 首先创建一个TableView类 Ta ...
随机推荐
- 【转】Native Thread for Win32 A- Create Thread(通俗易懂,非常好)
http://www.bogotobogo.com/cplusplus/multithreading_win32A.php Microsoft Windows operating system's s ...
- hdu 2686(状压dp)
题目链接:http://poj.org/problem?id=2686 思路:典型的状压dp题,dp[s][v]表示到达剩下的车票集合为S并且现在在城市v的状态所需要的最小的花费. #include& ...
- Hibernate_day04--HQL查询
HQL查询 1 hql:hibernate query language,hibernate提供一种查询语言,hql语言和普通sql很相似,区别:普通sql操作数据库表和字段,hql操作实体类和属性 ...
- 用Java向数据库中插入大量数据时的优化
使用jdbc向数据库插入100000条记录,分别使用statement,PreparedStatement,及PreparedStatement+批处理3种方式进行测试: public void ex ...
- 【集中工作薄】 当前文件夹中所有Excel文件中 多个工作簿的第一个工作表 复制到工作簿中
功能:当前文件夹中所有Excel文件中 多个工作簿的第一个工作表 复制到工作簿中 Sub Books2Sheets() '定义对话框变量 Dim fd As FileDialog Set fd = A ...
- centos7 install k8s centos 安装 kubernetes 详细
参考: http://blog.opskumu.com/k8s-cluster-centos7.html https://ylinux.org/note/article/1207 http://mub ...
- 【BZOJ3238】[Ahoi2013]差异 后缀数组+单调栈
[BZOJ3238][Ahoi2013]差异 Description Input 一行,一个字符串S Output 一行,一个整数,表示所求值 Sample Input cacao Sample Ou ...
- window 发布已编译好的ASP文件到IIS
1.进入window 7的控制面板,点击程序,选择程序和功能中的 打开或关闭Windows功能.安装IIS
- centos安装Oracle virtual box
1.进入virtualbox官网 https://www.virtualbox.org/wiki/Downloads 2.点击Linux distributions 3.向下翻至如图 4.在/etc/ ...
- #include <sys/epoll.h> epoll - I/O event notification facility 服务器端 epoll(7) - Linux manual page http://www.man7.org/linux/man-pages/man7/epoll.7.html
epoll使用详解(精髓) - Boblim - 博客园 https://www.cnblogs.com/fnlingnzb-learner/p/5835573.html epoll使用详解(精髓) ...