[Cocos2d-x]--CCTabelView显示指定行

(⊙o⊙)哦...先牢骚一下吧,马上就到春节了,这几天上班公交上已经有很多空位了,看着大家大包小包的等车回家,这着实让我这仍然加班加点的人觉得比较蛋疼,大半年来的的6x12上班确实让我觉得身心疲惫,不得不开始担心自己是否能继续吃得消这样的加班强度,总感觉自己过着和别人不一样的生活,周一到周六早上九点上班,晚上九点下班,回到家洗个澡看看书就可以睡觉,第二天继续撸,天天亦是如此[ so,程序员哪儿来的时间把妹?光棍是必然的...],周日还蛋疼的大老早就自己醒了,真是作死的节奏哇,~~噢不废话了,正题吧!


      想必大家读CCTableView这个控件一点儿也不陌生,你几乎可以在每个游戏以及应用里找到的的影子,比如说游戏中的一些排行榜,或者是商城等功能模块,一般都离不开

它。在手机屏幕大小有限的显示区域,如何能给玩家友好的显示更多的数据,这个控件就起着很大的作用了,其实用法还算比较简单,在TestCpp里就可以看到它的例子,

所以我这里就不讨论它怎么用了,我们来说说例子里没有展示出来它另一功能吧------- 显示指定行!

用法举例:商城中显示到指定商品,排行榜中显示到指定排名等。

代码举例:

void Market::showCellOfIndex(unsigned int index)
{
    do 
    {
        //条件不符合, 索引物品已经在当前页并已经渲染出来,不需要寻找[根据自己实际情况来定]
        //这里的_listNum是tableView总共有的cell,numberOfCellsInTableView函数返回的
        if (index < 5 || index >_listNum)
        {
            return;
        }
        CCTableView* tableView = static_cast<CCTableView*>(getChildByTag(TAG_TABLEVIEW));
        CC_BREAK_IF(!tableView);
        CCSize cellSize = CCSizeMake(CELL_WIDTH,CELL_HEIGHT);   
        float offsetX = 0;
        float offsetY = 0;
        if (tableView->getDirection() == kCCScrollViewDirectionVertical)
        {
            if (tableView->getVerticalFillOrder() == kCCTableViewFillTopDown)
            {
                offsetY = -cellSize.height * (_listNum - index-1);
            }else
            {
                offsetY = -cellSize.height * index-1;
            }
        }else
        {
            if (tableView->getVerticalFillOrder() == kCCTableViewFillTopDown)
            {
                offsetX = -cellSize.width * (_listNum - index);
            }else
            {
                offsetX = -cellSize.width * index;
            }
        }
        tableView->setContentOffset(ccp(offsetX,offsetY));
    } while (0);
}


就一个函数,传入显示的Index,就可以了,比较简单,不多说了(~﹃~)~zZ


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值