(⊙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