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()方法,可用于排行榜滚动到底部时,再次向服务器取数据