1CCTableView的使用,TableView响应和小格子tableView实现

1        CCTableView的使用


T26TableView.h


#ifndef
__T26TableView_H__

#define
__T26TableView_H__

#include
"cocos2d.h"

#include
"cocos-ext.h"

#include
"TBack.h"

USING_NS_CC;

USING_NS_CC_EXT;

class
T26TableView :public
TBack, public
CCTableViewDataSource

{

public:

CREATE_FUNC(T26TableView);

bool
init();

static
CCScene * scene();

CCArray*
_cells;

//获取指定的CCTableViewCell

virtual
CCTableViewCell* tableCellAtIndex(CCTableView *table,unsigned
int idx)

{

return (CCTableViewCell*)_cells->objectAtIndex(idx);

}

//获取CCTableViewCell的个数

virtual
unsigned int
numberOfCellsInTableView(CCTableView *table)

{

return
_cells->count();

}

//获得Cell的大小

virtual
CCSize tableCellSizeForIndex(CCTableView *table,unsigned
int idx) {

return
cellSizeForTable(table);

}

virtual
CCSize cellSizeForTable(CCTableView *table) {

return
CCDirector::sharedDirector()->getWinSize();

}

};

#endif


T26TableView.cpp


#include
"T26TableView.h"

CCScene *T26TableView::scene()

{

CCScene *
scene = CCScene::create();

T26TableView *
layer = T26TableView::create();

scene->addChild(layer);

return
scene;

}

bool
T26TableView::init()

{

TBack::init();

CCSize
winSize = CCDirector::sharedDirector()->getWinSize();

_cells =
CCArray::create();

_cells->retain();

for (inti = 0;
i < 5; ++i)

{

//创举CCTableViewCell

CCTableViewCell*cell =
new CCTableViewCell;

//放入存储CCTableViewCell的CCArray中去

_cells->addObject(cell);

cell->release();

//每个格子中添加精灵

CCSprite*
sprite = CCSprite::create("HelloWorld.png");

cell->addChild(sprite);

sprite->setPosition(ccp(winSize.width / 2,winSize.height
/ 2));

}

//使用了回调

CCTableView*
view = CCTableView::create(this,winSize);

addChild(view);

//设置滚动的方向

view->setDirection(kCCScrollViewDirectionHorizontal);

//从数据源重新加载,视图将会被刷新

view->reloadData();

return
true;

}


运行结果:

2 TableView响应和小格子tableView实现


T26TableView.h


#ifndef
__T26TableView_H__

#define
__T26TableView_H__

#include
"cocos2d.h"

#include
"cocos-ext.h"

#include
"TBack.h"

USING_NS_CC;

USING_NS_CC_EXT;

class
T26TableView :public
TBack, public
CCTableViewDataSource, public
CCTableViewDelegate

{

public:

CREATE_FUNC(T26TableView);

bool
init();

static
CCScene * scene();

//数据源支持的虚函数

CCArray*
_cells;

//获取指定的CCTableViewCell

virtual
CCTableViewCell* tableCellAtIndex(CCTableView *table,unsigned
int idx)

{

return (CCTableViewCell*)_cells->objectAtIndex(idx);

}

//获取CCTableViewCell的个数

virtual
unsigned int
numberOfCellsInTableView(CCTableView *table)

{

return
_cells->count();

}

//获得Cell的大小,cctableView的某个格子的大小可以不一样

virtual
CCSize tableCellSizeForIndex(CCTableView *table,unsigned
int idx) {

CCLog("顺序是:idx = %d",idx);

//当时第3个格子的时候相对其它的格子的空间大一下

if (idx == 2)

{

return
CCSize(80, 57);

}

return
cellSizeForTable(table);

}

virtual
CCSize cellSizeForTable(CCTableView *table) {

return
CCSize(57, 57);

}

//点击代理函数

virtual
void tableCellTouched(CCTableView*table,
CCTableViewCell*cell)

{

CCLog("idx=%d",cell->getIdx());

}

virtual
void scrollViewDidScroll(CCScrollView*view){}

virtual
void scrollViewDidZoom(CCScrollView*view){}

};

#endif


T26TableView.cpp


#include
"T26TableView.h"

CCScene *T26TableView::scene()

{

CCScene *
scene = CCScene::create();

T26TableView *
layer = T26TableView::create();

scene->addChild(layer);

return
scene;

}

bool
T26TableView::init()

{

TBack::init();

CCSize
winSize = CCDirector::sharedDirector()->getWinSize();

CCSize
cellSize = CCSize(57, 57);

_cells =
CCArray::create();

_cells->retain();

for (inti = 0;
i < 5; ++i)

{

//创举CCTableViewCell

CCTableViewCell*cell =
new CCTableViewCell;

//放入存储CCTableViewCell的CCArray中去

_cells->addObject(cell);

cell->release();

//每个格子中添加精灵

CCSprite*
sprite = CCSprite::create("Icon.png");

cell->addChild(sprite);

sprite->setPosition(ccp(cellSize.width / 2,cellSize.height
/ 2));

}

//使用了回调

CCTableView*
view = CCTableView::create(this,CCSize(cellSize.width
* 3,cellSize.height));

addChild(view);

//设置滚动的方向

view->setDirection(kCCScrollViewDirectionHorizontal);

//从数据源重新加载,视图将会被刷新

view->reloadData();

view->setPosition(ccp(200, 200));

// 点击处理

view->setDelegate(this);

return
true;

}


运行结果:

时间: 2024-12-16 13:20:45

1CCTableView的使用,TableView响应和小格子tableView实现的相关文章

ios 两个 TableView 之间的联动, TableView 与 CollectionView 之间的联动

两个 TableView 之间的联动, TableView 与 CollectionView 之间的联动 这是一个创建于 359 天前的主题,其中的信息可能已经有所发展或是发生改变. [联动] :两个 TableView 之间的联动, TableView 与 CollectionView 之间的联动 前言 现在市面上有很多 app 都有联动功能,有的是两个 TableView 之间的联动,比如美团外卖,百度外卖,饿了么等等.有的是 TableView 与 CollectionView 之间的联动

解决导航、Tabbar、tableview配合使用时,tableview错位的问题

导航.Tabbar.tableview配合使用时,tableview会出现错位的情况,特别是除tabbar的第一个选项的tableview, 解决方法非常简单,如下: self.tabBarController = [[UITabBarController alloc] init]; self.tabBarController.edgesForExtendedLayout = UIRectEdgeNone;//防止tableview错位 _tabBarControllerNav = [[UINa

推荐收听(左右两个tableView,点击左侧的tableView,右侧的tableView内容会变化)

效果图: 代码: .h #import <UIKit/UIKit.h> @interface RootViewController : UIViewController <UITableViewDelegate,UITableViewDataSource> { //列表 UITableView * _tableViewList; //显示内容 UITableView * _tableViewMembers; NSMutableArray * ListArray; NSMutable

第十九天(小格子)

1 <head> 2 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 3 <title>无标题文档</title> 4 <style type="text/css"> 5 * 6 { 7 margin:0px; 8 padding:0px;} 9 </style> 10 </he

iOS开发小技巧--TableView中headerView的循环利用,以及自定义的headerView

一.首先要搞清楚,tableView中有两种headerView,一个是tableHeaderView,另一个是headerView.前者就一个;后者根据session决定个数 headerView的循环利用跟cell的循环利用差不多,同样也可以注册,代码如下: 二.百思项目中,headerView只显示文字,但是只搞一个Label没法调整文字左边的间距.所以考虑包装一层view.进行了自定义headerView的封装,重写了headerView的 - (instancetype)initWit

响应微博小秘书倡议 连夜加急撸出头像变灰小工具之开发历程

昨天看到了微博小秘书关于全国性悼念活动倡议,我非常支持这个倡议. 因为修改灰色头像会有一定技术门槛,于是思考能否开发一个小工具方便大家使用. 考虑到第二天就是哀悼日,准备夜间快速开发上线. 0X00 废话少说先上东西 有兴趣的老哥可以访问:http://smartding.top:81/ 或者 http://smartding.top:8080/ 因为暂时无法备案,所以只能采用带端口或者纯 IP 的方式访问,有点郁闷. 小工具里面记录了项目历程,有兴趣可以阅读, 0X01 选型 因为时间相当有限

IOS TableView的Delegate Methods-tableView didSelectRowAtIndexPath

选中tableView的indexPath.row这一行 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { if (self.isFromChatView) self.chatViewController.phraseString = [self.phraseArray objectAtIndex:indexPath.row]; //else //self.n

tableView 隐藏多余分割线,tableView分割线增加15像素

1 //隐藏分割线 2 [self setExtraCellLineHidden:_tableView]; 3 //隐藏多余分割线 4 -(void)setExtraCellLineHidden: (UITableView *)tableView 5 { 6 UIView *view = [UIView new]; 7 view.backgroundColor = [UIColor clearColor]; 8 [tableView setTableFooterView:view]; 9 } 1

OC ScrollView里面含有拖动的TableView 如何响应拖动的手势

参考闲鱼的主页面,上半部分的View和下半部分的TableView: 首先拿到设计的UI控件: @property (weak, nonatomic) IBOutlet UIScrollView *ContentScrollView;//外部的套用ScrollView @property (weak, nonatomic) IBOutlet UITableView *DocterInfoTable;//这是ScrollView内部的TableView @property (weak, nonat