quick cocos2d TableView

1、创建tableview

self.uiRankList = cc.TableView:create(cc.size(720, 500))
self.uiRankList:setDirection(cc.SCROLLVIEW_DIRECTION_VERTICAL)
self.uiRankList:setPosition(cc.p(0,220))
self.uiRankList:setVerticalFillOrder(cc.TABLEVIEW_FILL_TOPDOWN)

参数说明:

tableview的可视区域大小为720*500

滚动方向为垂直

cell填充方向为从上倒下

2、需要重写的方法:

self.uiRankList:registerScriptHandler(function(table) return 10 end,cc.NUMBER_OF_CELLS_IN_TABLEVIEW)
self.uiRankList:registerScriptHandler(function(table,cell) self:clickCell(table,cell) end,cc.TABLECELL_TOUCHED)
self.uiRankList:registerScriptHandler(function(table,idx) return 720,LIST_CELL_H end,cc.TABLECELL_SIZE_FOR_INDEX)
self.uiRankList:registerScriptHandler(function(table, idx) return self:updateCell(table, idx) end,cc.TABLECELL_SIZE_AT_INDEX)
self.uiRankList:registerScriptHandler(function(table) self:scrollViewDidScroll(table) end,cc.SCROLLVIEW_SCRIPT_SCROLL)

说明:

返回cell的个数

点击cell的回调函数

某个cell的大小

cell的刷新函数

tableview滚动函数回调

3、关于tableview

tableview和listview,scrollview不同的地方在于,它不会创建出全部的cell,而是可视区域能显示几个,则创建出这么多再加一个;当滚动时,会根据idx来给这几个cell重新填充数据,然后刷新cell的UI信息

要获取tableview滚动到了哪个位置,只需要调用tableview的getContentOffset()方法,可用于排行榜滚动到底部时,再次向服务器取数据

你可能感兴趣的:(quick cocos2d TableView)