今天用到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的更多相关文章

  1. 【Cocos2d-x for WP8 学习整理】(4)CCTableView 实现《天天爱消除》中的得分榜

    接上回 CCScrollView 继续,在GUI 里还有个 CCScrollView 的子类---CCTableView . 这个名字应该是从 IOS 里的 UITableView来的,其实是跟WP8 ...

  2. cocos2d-x CCScrollView和CCTableView的使用(转载)

    转载请注明来自:Alex Zhou的程序世界,本文链接:http://codingnow.cn/cocos2d-x/1024.html //============================== ...

  3. CCScrollView/CCTableView(CCTableViewDelegate CCTableViewDataSource CCTableView-滑动列表-游戏中大量使用 非常重要的一个类)

    tableview scrollViewDidScroll函数中有一段   ----  即---滑动tableview时触发的函数 : 会将全部显示的cell又一次刷新(刷新函数中调用了自己定义的ta ...

  4. cocos2d-x CCTableView

    转自:http://www.cnblogs.com/dcxing/archive/2013/01/16/2862068.html CCTableView在游戏中一般用在背包这样场景或层中,当然也不止这 ...

  5. CCTableView的使用和注意事项

    #include "cocos-ext.h" using namespace cocos2d::extension; class TableViewTestLayer: publi ...

  6. Cocos2d—X游戏开发之CCTableView详解(十一)

    本来很早就想写关于CCTableView的文章,但是在基本功能实现之后呢,项目需求增加导致对这个控件的研究必须更加深入一点. 好的,现在开始介绍一下这个控件,在Cocos2d—X引擎中,这是一个仿制i ...

  7. CCTableView 简单样例

    非常像android中的listview #pragma once; #include "cocos2d.h" using namespace cocos2d; //使用CCTab ...

  8. Cocos2d-x CCTableView实现列表

    在ios程序设计中,会大量使用到tableview视图(UITableView),那么在cocos2d-x中,如果需要类似的列表,该如何实现呢?在引擎中参照ios中的UITableView实现了一个叫 ...

  9. cocos2d-x关于CCTableView的“乱序问题”的理解

    Cocos2d-x有一个不错的控件CCTableView.之前用的时候发现有cell的顺序错乱和重复出现的问题.后来仔细看了一下源码,发现是自己用法错误.但是网上有人说是一个bug,要改源码.我发现2 ...

  10. Cocos2d-X 使用CCTableView创建滚动视图

    CCTableView和CCScrollView如创建滚动视图,CCTableView该函数将是更,制造更多麻烦 实例1:使用CCTableView创建滚动视图 首先创建一个TableView类 Ta ...

随机推荐

  1. SqlAlchemy使用详解

    python之sqlalchemy创建表的实例详解 通过sqlalchemy创建表需要三要素:引擎,基类,元素 from sqlalchemy import create_engine from sq ...

  2. Ubuntu 16.04 LTS nodejs+pm2+nginx+git 基础安装及配置环境(未完,未整理)

    -.Ubuntu 安装nodejs 以下内容均在命令行,完成,首先你要去你电脑的home目录:cd ~. [sudo] apt-get update [sudo] apt-get upgrade ap ...

  3. asp.net页面生命周期总结

    //页面请求-判断是否开始声明生命还是通过cache响应用户            //开始-开始声明周期的话,那么就去判断是新的请求还是回发请求,并修改IspostBack属性            ...

  4. RF中空列表变量不能直接赋至为[]

    RF中空列表正确定义方法为:

  5. m2014-c->c模拟java的hashmap容器类

    转自:http://bbs.csdn.net/topics/390034346 在java中像ArrayList,HashMap都是现成的,在java.util包中,用的时候直接import java ...

  6. OOXML,XLSX分析

    07以上的xlsx是使用了OOXML和zip,将后缀修改为.zip,就可以看到文件,主要分析xl目录下的文件,如图: 主要数据文件在xl目录下面 styles.xml里面存放着excel的样式数据 很 ...

  7. 【BZOJ2622】[2012国家集训队测试]深入虎穴 次短路

    [BZOJ2622][2012国家集训队测试]深入虎穴 Description 虎是中国传统文化中一个独特的意象.我们既会把老虎的形象用到喜庆的节日装饰画上,也可能把它视作一种邪恶的可怕的动物,例如“ ...

  8. 理解Javascript__理解undefined和null

    来自普遍的回答: 其实在 ECMAScript 的原始类型中,是有Undefined 和 Null 类型的. 这两种类型都分别对应了属于自己的唯一专用值,即undefined 和 null. 值 un ...

  9. 浏览器中使用 ES6 import

    html 中的 head 标签引入: <script src="test.js" type="module"></script> tes ...

  10. excel提取汉字拼音首字母

    本文转载:http://jingyan.baidu.com/article/63acb44adca44461fcc17e85.html 利用Excel表格中的宏,轻松提取首字母 方法/步骤 1.启动E ...