首页 > 代码库 > quick cocos2d-x 使用CCTableView 例子

quick cocos2d-x 使用CCTableView 例子

可以运行,已经测试过了,参考网络上别人的代码,觉得很有用,记录。直接上代码:

(注意方法声明的时候,用的.跟:  不可以混用。不然就错了~~)

 1 -- 2 -- Date: 2014-11-13 15:55:20 3 -- 4 --调用代码: local rlayer = require("app.scenes.TableViewLayer").new() 5         --  rlayer:setAnchorPoint(ccp(0, 0)) 6         --  rlayer:setPosition(ccp(0, 0)) 7         --  self:addChild(rlayer) 8 local TableViewLayer = class("TableViewLayer", function() 9     return display.newLayer()10 end)11 12 function TableViewLayer:ctor()13     self:onEnter()14 end15 16 function TableViewLayer.scrollViewDidScroll(view)17     print("scrollViewDidScroll")18 end19 20 function TableViewLayer.scrollViewDidZoom(view)21     print("scrollViewDidZoom")22 end23 24 function TableViewLayer.tableCellTouched(table,cell)25     print("cell touched at index: " .. cell:getIdx())26 end27 28 function TableViewLayer.cellSizeForTable(table,idx) 29     return 60,6030 end31 32 function TableViewLayer.tableCellAtIndex(table, idx)33     local strValue = http://www.mamicode.com/string.format("%d",idx)34     local cell = table:dequeueCell()35     local label = nil36     if nil == cell then37         cell = CCTableViewCell:new()38         --底层39         local table_bg = CCSprite:create("res/table_bg.png")40         table_bg:setAnchorPoint(CCPointMake(0,0))41         table_bg:setPosition(CCPointMake(0, 0))42         cell:addChild(table_bg)43 44         --图片层45         local sprite = CCSprite:create("res/icon.png")46         sprite:setAnchorPoint(CCPointMake(0,0))47         sprite:setPosition(CCPointMake(0, 0))48         cell:addChild(sprite)49 50         --文字层51         label = CCLabelTTF:create(strValue, "Helvetica", 20.0)52         label:setPosition(CCPointMake(0,0))53         label:setAnchorPoint(CCPointMake(0,0))54         label:setTag(123)55         cell:addChild(label)56     else57         label = tolua.cast(cell:getChildByTag(123),"CCLabelTTF")58         if nil ~= label then59             label:setString(strValue)60         end61     end62 63     return cell64 end65 66 --tableview中的cell个数67 function TableViewLayer.numberOfCellsInTableView(table)68    return 2569 end70 71 function TableViewLayer:onEnter()72     local table_view = CCTableView:create(CCSizeMake(500, 500))73     table_view:setAnchorPoint(ccp(0, 1))74     table_view:setDirection(kCCScrollViewDirectionVertical)75     table_view:setPosition(CommonAPI:getCenterX()/2,CommonAPI:getCenterY()/2)76     self:addChild(table_view)77 78     table_view:setVerticalFillOrder(kCCTableViewFillTopDown) --kCCTableViewFillBottomUp79     table_view:registerScriptHandler(self.scrollViewDidScroll,CCTableView.kTableViewScroll)80     table_view:registerScriptHandler(self.scrollViewDidZoom,CCTableView.kTableViewZoom)81     table_view:registerScriptHandler(self.tableCellTouched,CCTableView.kTableCellTouched)82     table_view:registerScriptHandler(self.cellSizeForTable,CCTableView.kTableCellSizeForIndex)83     table_view:registerScriptHandler(self.tableCellAtIndex,CCTableView.kTableCellSizeAtIndex)84     table_view:registerScriptHandler(self.numberOfCellsInTableView,CCTableView.kNumberOfCellsInTableView)85     table_view:reloadData()86 end87 88 return TableViewLayer

over~

quick cocos2d-x 使用CCTableView 例子