TableView(一)
来源:互联网 发布:makerbot软件下载 编辑:程序博客网 时间:2024/06/05 18:39
说明
引擎版本:cocos2d-x 3.4 编译器:visual studio 2013
类继承
简介
要使用TableView,要包含头文件和继承相关类、实现相关接口;在项目属性-配置属性-C/C++-附加包含目录添加$(EngineRoot):
.h文件:
#include "cocos2d.h"
#include "cocos-ext.h"
USING_NS_CC;
USING_NS_CC_EXT;
class HelloWorld : public cocos2d::Layer, TableViewDataSource, TableViewDelegate
{
public:
/*必须实现的函数*/
virtual void scrollViewDidScroll(ScrollView* view){};
virtual void scrollViewDidZoom(ScrollView* view){};
virtual void tableCellTouched(TableView* table, TableViewCell* cell);
virtual Size tableCellSizeForIndex(TableView* table, ssize_t idx);
virtual TableViewCell* tableCellAtIndex(TableView* table, ssize_t idx);
virtual ssize_t numberOfCellsInTableView(TableView* table);
};
.cpp文件:
TableView* tableView = TableView::create(this, Size(300, 100));
tableView->setDirection(ScrollView::Direction::VERTICAL);
tableView->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2));
tableView->setDelegate(this);
tableView->setVerticalFillOrder(TableView::VerticalFillOrder::TOP_DOWN);
this->addChild(tableView);
tableView->reloadData();
void HelloWorld::tableCellTouched(TableView* table, TableViewCell* cell)
{
CCLOG("cell touched at index:%i", cell->getIdx());
}
Size HelloWorld::tableCellSizeForIndex(TableView* table, ssize_t idx)
{
return Size(50, 50);
}
TableViewCell* HelloWorld::tableCellAtIndex(TableView* table, ssize_t idx)
{
TableViewCell* cell = table->dequeueCell();
if (!cell){
cell = new TableViewCell();
cell->autorelease();
Sprite* sprite = Sprite::create("CloseSelected.png");
sprite->setAnchorPoint(Vec2::ZERO);
sprite->setPosition(Vec2(0, 0));
cell->addChild(sprite);
Label* label = Label::createWithSystemFont(StringUtils::toString(idx), "123", 20);
label->setPosition(Vec2::ZERO);
label->setAnchorPoint(Vec2::ZERO);
label->setTag(123);
cell->addChild(label);
}
else{
Label* label = (Label*)(cell->getChildByTag(123));
label->setString(StringUtils::toString(idx));
}
return cell;
}
ssize_t HelloWorld::numberOfCellsInTableView(TableView* table)
{
return 5;
}
0 0
- TableView(一)
- TableView 小技巧 (一)
- tableView小知识整理(一)
- IOS TableView<一>
- IOS TableView详解(一)
- tableView的使用(一)
- ios tableView那些事(一)创建一个简单的tableView
- 关于tableview的零散代码(一)将buttton放在tableview的footer里
- ios tableView那些事(一)创建一个简单的tableView
- iOS TableView实现QQ好友列表(一)
- Swift UITableView相关功能(一)创建tableView
- iOS TableView实现QQ好友列表(一)
- Cocos2d-lua示例(一)排行榜之TableView
- TableView代理方法详解(一)
- tableView 判断超过一屏幕
- ios tableView基本属性一:
- TableView知识点梳理__一
- ios TableView那些事2(Swift 一) 初见TableView
- C#系列——多线程常用方法
- C语言一些函数
- 关于获取屏幕的一些属性
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- 最简单的基于FFmpeg的推流器(以推送RTMP为例)
- TableView(一)
- Date类型(一)
- PHP_EOL
- 5.nginx学习笔记:nginx+php
- 链表反序
- CSDN-markdown编辑器
- 初学JS值之用JS实现鼠标移入移出事件
- [51nod1655]染色问题
- ThinkPhp 5.0 CSS,JS文件添加时间戳