Quick-Lua TabelView的简单使用
来源:互联网 发布:diana krall 知乎 编辑:程序博客网 时间:2024/05/19 06:37
今天主要提供一个tableview的Demo,
这个demo我放到github上,先把代码贴出来,创建个quick-lua工程:
MainScene.lua
local MainScene = class("MainScene", function() return display.newScene("MainScene")end)require("app.scenes.tabelView")function MainScene:ctor() ui.newTTFLabel({text = "Hello, World", size = 64, align = ui.TEXT_ALIGN_CENTER}) :pos(display.cx, display.cy) :addTo(self)endfunction MainScene:onEnter() if device.platform == "android" then -- avoid unmeant back self:performWithDelay(function() -- keypad layer, for android local layer = display.newLayer() layer:addKeypadEventListener(function(event) if event == "back" then app.exit() end end) self:addChild(layer) layer:setKeypadEnabled(true) end, 0.5) end setCellCount(6) self:addChild( create() )endfunction MainScene:onExit()endreturn MainScene
tableView.lua
---- Author: yangkai-- E-mail: yk81708090@163.com-- Date: 2014-04-04 11:06:28--local TableViewLayer = class("TableViewLayer")TableViewLayer.__index = TableViewLayerlocal count = 0 -- 获取箱子数量function TableViewLayer.extend(target) local t = tolua.getpeer(target) if not t then t = {} tolua.setpeer(target, t) end setmetatable(t, TableViewLayer) return targetendfunction TableViewLayer.scrollViewDidScroll(view) print("scrollViewDidScroll")endfunction TableViewLayer.scrollViewDidZoom(view) print("scrollViewDidZoom")endfunction TableViewLayer.tableCellTouched(table,cell) print("cell touched at index: " .. cell:getIdx()) --[[此处可以通过再定义一个变量用来保存当前的使用几个箱子, 在根据cell:getIdx()的数值做比较即可判断当前是否点击到 ]]endfunction TableViewLayer.cellSizeForTable(table,idx) return 96,94endfunction TableViewLayer.tableCellAtIndex(table, idx) local strValue = string.format("%d",idx) local cell = table:dequeueCell() local label = nil if nil == cell then cell = CCTableViewCell:new() local sprite = CCSprite:create("sc_wp_box_tianjia_n.png") sprite:setAnchorPoint(CCPointMake(0,0)) sprite:setPosition(CCPointMake(0, 0)) cell:addChild(sprite) label = CCLabelTTF:create(strValue, "Helvetica", 20.0) label:setPosition(CCPointMake(0,0)) label:setAnchorPoint(CCPointMake(0,0)) label:setTag(123) cell:addChild(label) else label = tolua.cast(cell:getChildByTag(123),"CCLabelTTF") if nil ~= label then label:setString(strValue) end end return cellendfunction TableViewLayer.numberOfCellsInTableView(table) -- 获取数据 return countend-- 初始化tabelviewfunction TableViewLayer:init() local winSize = CCDirector:sharedDirector():getWinSize() local tableView = CCTableView:create(CCSizeMake(565, 127)) -- 设置大小 tableView:setDirection(kCCScrollViewDirectionHorizontal)-- 设置横向 tableView:setAnchorPoint(ccp(0.5, 0.5)) tableView:setPosition(ccp(display.cx - 282.5, display.cy-325))-- 设置位置 tableView:setVerticalFillOrder(kCCTableViewFillTopDown)-- 设置滑动方向 self:addChild(tableView) -- 添加注册事件 tableView:registerScriptHandler(TableViewLayer.scrollViewDidScroll,CCTableView.kTableViewScroll) tableView:registerScriptHandler(TableViewLayer.scrollViewDidZoom,CCTableView.kTableViewZoom) tableView:registerScriptHandler(TableViewLayer.tableCellTouched,CCTableView.kTableCellTouched) tableView:registerScriptHandler(TableViewLayer.cellSizeForTable,CCTableView.kTableCellSizeForIndex) tableView:registerScriptHandler(TableViewLayer.tableCellAtIndex,CCTableView.kTableCellSizeAtIndex) tableView:registerScriptHandler(TableViewLayer.numberOfCellsInTableView,CCTableView.kNumberOfCellsInTableView) tableView:reloadData() -- 刷新数据 return trueendfunction setCellCount(icount)count = icountendfunction create() local layer = TableViewLayer.extend(CCLayer:create()) if nil ~= layer then layer:init() end return layerend
Demo地址:https://github.com/yk81708090/quick-x_tableView.git
0 0
- Quick-Lua TabelView的简单使用
- quick-cocos2d-x lua编写简单的场景
- lua 的简单使用
- quick lua中使用SocketTCP
- quick-x lua sprite使用
- quick lua-binding使用详解
- quick lua-binding使用详解
- quick cocos2dx-Lua中的自定义事件的使用
- quick lua 简单快捷的纹理缓存和lua内存优化步骤总结。
- quick lua 简单快捷的纹理缓存和lua内存优化步骤总结。(续)
- Lua Coroutine 的简单使用
- 使用vs2012调试quick-lua代码
- quick-lua中使用本地数据存储
- quick组件模块的使用以及简单案例
- quick-lua中表的排序问题
- quick lua的一个小坑
- 【quick遇到的陷阱】lua 全局
- quick-lua中定时器的设计
- CodeForces 23C Oranges and Apples (简单题)
- 遍历Map的四种方法
- 修改MyEclipse2013中的servlet模板
- 关于优酷api获取视频json信息
- 对XML的理解
- Quick-Lua TabelView的简单使用
- 关于内存泄漏小记
- STM32中assert_param的使用
- SVD几何分析
- 第五周作业——有向图邻接表表示及反向图构造
- Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
- Linux 脚本编程 收录
- 痛定思痛
- g好减肥他hi客人突然发育火锅好复古会经费个科目一人