在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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 浏览器清理缓存的几种方法

    浏览器清理缓存的几种方法一.为什么使用缓存简单的说,就是为了让页面加载的更快一点,通过将部分静态资源保存到本地这种方式,从而减少网络请求,提升用户体验的一种手段。二.使用缓存有什么弊端凡事有利必有弊,缓存也是。使用缓存

    2022年7月1日
    29
  • 我为什么会贫穷

    我为什么会贫穷

    2021年8月29日
    55
  • amd电脑安装Android失败,AMD显卡驱动安装失败

    amd电脑安装Android失败,AMD显卡驱动安装失败是WIN7的操作系统吧,必须要取得管理员权限。方法如下:1.右键单击“计算机”,进入“管理”找到“用户和组”2.找到administrators,右键调出属性,把“该账户已禁用”前面的勾去掉。回桌面3.新建“记事本”,copy如下内容:WindowsRegistryEditorVersion5.00[HKEY_CLASSES_ROOT\*\shell\runas]@=”管理员取得所有权”…

    2022年5月6日
    58
  • 软件测试(2) UFT安装

    软件测试(2) UFT安装1.QTP/UFT11.5(安装和破解)Quicktestprofessional(QTP/UFT)11.5官方版(含汉化包)下载地址:http://www.ddooo.com/softdown/63985.htm该网页中有 QTP无限试用教程具体百度网盘:http://pan.baidu.com/s/1hrTydRQ2.UFT12参考:http

    2022年5月12日
    43
  • Atitit.提升api兼容性的方法 v3 q326

    Atitit.提升api兼容性的方法 v3 q326

    2021年9月13日
    81
  • 协方差矩阵和类内离散度矩阵_类间散度矩阵

    协方差矩阵和类内离散度矩阵_类间散度矩阵协方差矩阵和散布矩阵的意义在机器学习模式识别中,经常需要应用到协方差矩阵C和散布矩阵S。如在PCA主成分分析中,需要计算样本的散度矩阵,有的论文是计算协方差矩阵。实质上二者意义差不多,散布矩阵(散度矩阵)前乘以系数1/(n-1)就可以得到协方差矩阵了。在模式识别的教程中,散布矩阵也称为散度矩阵,有的也称为类内离散度矩阵或者类内离差阵,用一个等式关系可表示为:关系:散度矩阵=类内离散度矩阵=类内离差阵=协方差矩阵×(n-1)样本的协方差矩阵乘以n-1倍即为散布矩阵,n表示样本

    2025年8月14日
    2

发表回复

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

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