今天用到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. WPF InitializeComponent() 方法介绍

    namespace WindowsApplication1 { /// <summary> /// Interaction logic for Window1.xaml /// </ ...

  2. linux 命令集合收集(ubuntu)

    1.查看ubuntu版本号:cat /etc/issue  或者sudo lsb_release -a 2.查看内核版本信息:uname -a ,显示为4.4.0 x86_64版本内核

  3. Tomcat服务器的安装与配置

    安装 输入网址进入Tomcat的官网            在左边导航栏选择对应下载的版本            下载安装包形式             下载并解压到我们欲放入的目录中 配置      ...

  4. hdu1244(dp)

    简单dp Max Sum Plus Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  5. C# 图片识别技术(支持21种语言,提取图片中的文字)

    图片识别的技术到几天已经很成熟了,只是相关的资料很少,为了方便在此汇总一下(C#实现),方便需要的朋友查阅,也给自己做个记号. 图片识别的用途:很多人用它去破解网站的验证码,用于达到自动刷票或者是批量 ...

  6. 转载 hibernate一级缓存和二级缓存的区别

    文章来源:http://blog.csdn.net/defonds/article/details/2308972     hibernate一级缓存和二级缓存的区别 缓存是介于应用程序和物理数据源之 ...

  7. 电力项目七--js控制文字内容过长的显示和文本字数的显示

    当文本框中文字内容过长时,需要调整显示的样式 如上图所示的样式 对应的代码为: <div id="showInfomation" style="visibility ...

  8. angular2+ 引用layDate日期选择插件

    layDate日期选择插件使用npm安装好像是行不通的,但angular2+的日期选择控件库又不能够支持时分秒的选择 在angular项目中引用layDate 1. 首先官网下载layDate独立版, ...

  9. 160506、Spring mvc新手入门(11)-返回json 字符串的其他方式

    Spring MVC返回 json字符串的方式有很多种方法,这里介绍最简单,也是最常使用的两种方式 一.使用  PrintWriter printWriter  直接输出字符串到返回结果中    不需 ...

  10. Code Forces 21C Stripe 2

    C. Stripe 2 time limit per test 1 second memory limit per test 64 megabytes input standard input out ...