现在我要想做的效果是 点击cell让其被标记,但拖出屏幕外重新拖进来的时候标记就没了,求助 怎样做才能让拖进来时 标记还在,不胜感激!
对Cell标记是不靠谱的,TableView采用的是MVC设计结构,如果你想标记一个Cell,必须对其对应的模型进行标记,也就是你自己的业务数据,比如你用来表示Cell的某个数组,然后在tableCellAtIndex上根据idx获取该数组的这个cell的标记,然后再对cell进行显示标记。TableView实际是仿照cocoa的UITableView做的,是苹果设计的一个相当精妙的UI类,拥有极低的内存开销和极大的灵活性,只是初学者不太容易掌握。用好TableView最重要的就是写好tableCellAtIndex,记住,TableView不会按照顺序管理cell(这是初学者最容易犯的一个错误)
得记住被点击cell的index,下次再显示的时候让这个index对应的cell选中就行
Sprite * sprite2 = Sprite::create("ui/army_attribute/duiwu36.png");
std::vector<Sprite*> sprite;
for(int i = 0; i < idx; i++)
{
sprite.push_back(sprite2);
}
sprite.at(selectedCell)->setVisible(true);;
我这样做了 但还是不行啊 ,求解!
我按照下面的方式 做了 还是不行,是我做的不对吗!还请指教
Sprite * sprite2 = Sprite::create(“ui/army_attribute/duiwu36.png”);
std::vector<Sprite*> sprite;
for(int i = 0; i < idx; i++)
{
sprite.push_back(sprite2);
}
sprite.at(selectedCell)->setVisible(true);;
sprite2 是那个标记 selectedCell呗点击的Index