cocos2d-x中的cctableview的cell内容下拉一次改变一次怎么解决

Damon_hoo 2014-11-17 10:03:19
在cocos2d-x中的cctableview的cell内容下拉一次改变一次,现在想要的是如果已经加里面之后就不让改变顺序了,就比如说加入的顺序是1,2,3,4,5,6,然后下拉之后还是1,2,3,4,5,6
但是现在却成了下拉之后,屏幕覆盖了哪个值,那个值就变了,然后整个cell的内容都变了,附上代码,请指出修正地方
bool HelloWorld::init()
{
if ( !CCLayer::init() )
{
return false;
}
CCLabelTTF *label1=CCLabelTTF::create("111", "", 10.0f);
CCLabelTTF *label2=CCLabelTTF::create("222", "", 80.0f);
CCLabelTTF *label3=CCLabelTTF::create("333", "", 80.0f);
CCLabelTTF *label4=CCLabelTTF::create("444", "", 80.0f);
CCLabelTTF *label5=CCLabelTTF::create("555", "", 80.0f);
CCLabelTTF *label6=CCLabelTTF::create("666", "", 80.0f);
array=CCArray::create(label1,label2,label3,label4,label5,label6,NULL);
array->retain();
CCTableView *tableview=CCTableView::create(this, CCSizeMake(400, 500));
tableview->setPosition(480, 320);
tableview->setViewSize(CCSizeMake(400, 500));
tableview->ignoreAnchorPointForPosition(false);
tableview->setVerticalFillOrder(kCCTableViewFillTopDown);
addChild(tableview);
return true;
}
CCSize HelloWorld::tableCellSizeForIndex(CCTableView *table, unsigned int idx)
{
return CCSizeMake(400, 100);
}
CCTableViewCell* HelloWorld::tableCellAtIndex(CCTableView *table, unsigned int idx)
{
CCTableViewCell *cell=table->dequeueCell();
if (!cell) {
cell=new CCTableViewCell();
cell->addChild( (CCLabelTTF*)array->objectAtIndex(idx));
CCLog("!cell idx=%d",idx);
}
else
CCLog("cell idx=%d",idx);


return cell;
}
unsigned int HelloWorld::numberOfCellsInTableView(CCTableView *table)
{
return array->count();
}

...全文
121 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
bianfuba 2015-09-26
  • 打赏
  • 举报
回复
CCTableViewCell *cell=table->dequeueCell();     if (!cell) {         cell=new CCTableViewCell();         cell->addChild( (CCLabelTTF*)array->objectAtIndex(idx));         CCLog("!cell idx=%d",idx);     }     else     CCLog("cell idx=%d",idx); 在else这里需要根据idx重置一下数据。

29,029

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧