在cocos2d-x在CCTableView使用控制

在cocos2d-x在CCTableView使用控制

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

头文件需要继承CCTableViewDataSource和CCTableViewDelegate

//CCScrollViewDelegate

virtual void scrollViewDidScroll(CCScrollView* view){};

virtual void scrollViewDidZoom(CCScrollView* view){};

//CCTableViewDelegate

virtual void tableCellTouched(CCTableView* table, CCTableViewCell* cell);//当点击单元格格时触发的方法

//单元格中CCTableViewCell类中有一个属性idx,能够推断点击的这个单元格的索引

virtual void tableCellHighlight(CCTableView* table,CCTableViewCell* cell);//按下去的时候就是高亮显示,这里能够设置高

virtual void tableCellUnhighlight(CCTableView* table,CCTableViewCell* cell);//松开的时候,取消高亮状态

//CCTableViewDataSource

virtual unsigned int numberOfCellsInTableView(CCTableView* table);//返回这个表格有多少单元格

virtual CCSize cellSizeForTable(CCTableView* table);//返回每一个Cell的大小

virtual CCTableViewCell* tableCellAtIndex(CCTableView* table,unsigned int idx);
//生成单元格。即单元格的内容

//实例

在init方法中:

CCSize winSize = CCDirector::sharedDirector() -> getWinSize();

CCTableView* tableView = CCTableView::create(this,CCSizeMake(winSize.width/2,winSize.height/3));

tableView -> setDirection(kCCScrollViewDirectionVertical);

tableView -> setPosition(ccp(winSize.width * 0.07,winSize.width * 0.35));

tableView -> setDelegate(this);

tableView -> setTag(802);

tableView -> setAnchorPoint(CCPointZero);

tableView -> setTouchPriority(-129);

this -> addChild(tableView);

//这里为什么要设置此表格的触摸优先级为-129呢?

假设不这么办的话,当这个层的触摸开启的时候,滑动表格中的单元格不会滑动,把表格的触摸给吞噬掉了,所以要这样设置。

那么单元格的内容是什么呢?
以下看这种方法:
CCTableViewCell* tableCellAtIndex(CCTableView* table,unsigned int idx)
{
  CCTableViewCell* cell = table -> dequeueCell();
  if(!cell)
  {
    cell = new CCTableViewCell();
    cell -> autorelease();
  }
  cell -> removeAllChildrenWithCleanup(true);
  CCLabelTTF* label = CCLabelTTF::create(“abc”,”Arial”,24);
  label -> setPosition(ccp(150,30));
  cell -> addChild(label);

  return cell;
}
//这样单元格中就有了内容
那么如何获取到单元格的内容呢?看以下这种方法
void tableCellTouched(CCTableView* table, CCTableViewCell* cell)
当点击单元格时,会运行这种方法,cell中有个属性getIdx(),能够推断点击的单元格是第几个单元格,当然。通过cell->getChildByTag

(),能够捕获到cell中有什么东西。
当单元格上有button时,在实现button的方法中:
void menuCallBack(CCObject* object)
{
  CCTableViewCell* cell = (CCTableViewCell*)(((CCMenuItemImage*)object)->getParent()->getParent());
  CCLog(“menu click cell index : %d\n”,cell -> getIdx());
}
这样也能够通过单元格上的button为了得到单位格。
  

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117236.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Rancher部署报错状态一直restarting

    Rancher部署报错状态一直restarting

    2021年5月30日
  • 森林岔路91%_01746

    森林岔路91%_01746原题链接森森开了一家快递公司,叫森森快递。因为公司刚刚开张,所以业务路线很简单,可以认为是一条直线上的N个城市,这些城市从左到右依次从0到(N−1)编号。由于道路限制,第i号城市(i=0,⋯,N−2)与第(i+1)号城市中间往返的运输货物重量在同一时刻不能超过C​i​​ 公斤。公司开张后很快接到了Q张订单,其中j张订单描述了某些指定的货物要从S​j​​ 号城市运输到T​j​​ 号城市。这里我们简单地假设所有货物都有无限货源,森森会不定时地挑选其中一部分货物进行运输。安全起见,这些货物不会在中

    2022年8月8日
  • 均匀分布的期望和方差公式推导_圆上的均匀分布数学期望

    均匀分布的期望和方差公式推导_圆上的均匀分布数学期望数学正态分布和均匀分布问题。正态分布N(μ,σ^2)期望即μ,方差即σ^2区间[a,b]上均匀分布期望为(a+b)/2,方差为(b-a)^2/12为什么计算均匀分布的方差要除以12?注:均匀分布U(a,b)的方差Var(X)=(b-a)^2/12随机变量:U(a,b)X的概率密度函数:f(x)=1/(b-a)a其它x,f(x)=0;X的平均值:E(X)=∫(b,a)xf(x)dx=∫(b,…

    2022年9月18日
  • Maven 生成打包可执行jar包

    Maven 生成打包可执行jar包文章目录1.需求2.开发环境3.Maven打包插件介绍4.Maven使用maven-jar-plugin打可执行jar包5.Maven使用maven-assembly-plugin装需要打包的文件打进zip包6.Maven生成可执行jar包及zip项目压缩包7.执行jar包8.pom.xml配置9.package.xml文件最近IDEA打可执行Jar包搞了三天,一直失败,好好学…

    2022年5月30日
  • swift uiwebview 用cookie 来实现自动登录

    swift uiwebview 用cookie 来实现自动登录

    2022年3月12日
  • linux安装weget命令,linux安装wget命令

    linux安装weget命令,linux安装wget命令wget命令是linux系统下的一个常用命令。下面由学习啦小编为大家整理了linux安装wget命令的相关知识,希望大家喜欢!linux安装wget命令方法一debian或者ubuntu:sudoapt-getinstallwgetcentos:sudoyum-yinstallwgetlinux安装wget命令方法二我们先安装linux系统比如centos7.1里面有的就…

    2022年10月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号