TableView+Button
local MainScene = class("MainScene", cc.load("mvc").ViewBase)
function MainScene:onCreate()
local im = ccui.ImageView:create("HelloWorld.png")
self:addChild(im)
im:setPosition(,)
local scene = self
local list = {}
for i=, do
table.insert(list,i.."号位")
end
dump(list)
local tableSize = cc.size(,)
local cellSize = cc.size(tableSize.width, )
local tv = cc.TableView:create(tableSize)
self:addChild(tv)
tv:setPosition(,)
tv:setScale(1.5)
local function tableCellAtIndex(table, idx)
--print("tableCellAtIndex"..idx)
local cell = table:dequeueCell()
if cell then
--cell:removeAllChildren()
else
cell = cc.TableViewCell:create()
local ly = ccui.Layout:create()
ly:setBackGroundColorType()
ly:setBackGroundColor({r = , g = , b = })
ly:setBackGroundColorOpacity()
local layout = ccui.LayoutComponent:bindLayoutComponent(ly)
layout:setSize({width = cellSize.width,height =cellSize.height-})
cell:addChild(ly)
cell.oneItem= ccui.Text:create("","",)
cell.oneItem:setFontSize()
cell.oneItem:setfont
cell.oneItem:setColor(cc.c3b(,,))
cell:addChild(cell.oneItem,)
cell.oneItem:setPosition(,)
cell.btn = ccui.Button:create("btn.png")
cell.btn:setAnchorPoint(cc.p(,))
cell:addChild(cell.btn,)
cell.btn:setSwallowTouches(false)
local function btnClick(sender, state)
--print("btn "..cell.btn:getTag())
local event = {}
if state == then
event.name = "began"
tv.ScorllState = false
elseif state == then
event.name = "moved"
elseif state == then
event.name = "ended"
if tv.ScorllState == false then
print("btn click "..cell.btn:getTag())
end
else
event.name = "cancelled"
end
print(event.name)
end
--cell.btn:addClickEventListener(btnClick)
cell.btn:addTouchEventListener(btnClick)
end
cell.btn:setTag(idx+)
cell.oneItem:setString(list[idx+])
return cell
end
local function cellSizeForIndex(table, idx)
--print("cellSizeForIndex"..idx)
return cellSize.width, cellSize.height
end
local function numberOfCellsInTableView(table)
--print("numberOfCellsInTableView")
return #list
end
local function tableDidScroll(table)
--print("tableDidScroll")
tv.ScorllState = true
end
tv:setDelegate()
tv:registerScriptHandler(cellSizeForIndex, cc.TABLECELL_SIZE_FOR_INDEX)
tv:registerScriptHandler(tableCellAtIndex, cc.TABLECELL_SIZE_AT_INDEX)
tv:registerScriptHandler(numberOfCellsInTableView, cc.NUMBER_OF_CELLS_IN_TABLEVIEW)
tv:registerScriptHandler(tableDidScroll, cc.SCROLLVIEW_SCRIPT_SCROLL)
tv:reloadData()
end
return MainScene
TableView+Button的更多相关文章
- iOS 在tableView上添加button导致按钮没有点击效果和不能滑动的 zhuang
转载请注明出处. 今天在调试代码的时候,在tableviewcell上添加button,发现button快速点击的话,是看不出点击效果的,查找资料发现, ios7上UITableViewCell子层容 ...
- iOS实现类似QQ的好友列表,自由展开折叠(在原来TableView的基础上添加一个字典,一个Button)
//直接代码 只包含 折叠展开字典的处理搭建#import "CFViewController.h" @interface CFViewController ()<UITab ...
- 【iOS开发-68】APP下载案例:利用tableView自带的cell布局+缓存池cell复用时注意button状态的检查
(1)效果 (2)源码与资源下载 http://pan.baidu.com/s/1pJLo2PP (3)总结 --核心是利用UITableView里面自带的cell来制作样式同样的cell. 与之对应 ...
- 取到 tableview 自定义section header 上的button
在自定义的组头上,添加了一个button,在点击cell是想取到相应的组头上的button来进行操作时(比如说隐藏.是否响应点击事件等)时,我遇到了取不到所有button的问题,试过了常规的通过vie ...
- 使用tableview的表头button 实现多 cell 的选择
首先声明本篇博文是作者原创,在QQ群里看到一枚猿友求助,问题描述:使用UItableView 实现在表头里点击不同的按钮,去刷新当前的界面(界面是大的 cell),自己就实现了一下. 实验原材料:故事 ...
- 如何对tableview进行自定义多选
前言: 很多入门不久的程序员或许都会遇到系统自带的tableview多选时cell选择时不能选择自己想要的点击时的颜色或者图片,这让初级开发者们很烦恼.今天,我试着花了几个小时的时间用了自己的想法,去 ...
- 在TableView上添加悬浮按钮
如果直接在TableVIewController上贴Button的话会导致这个会随之滚动,下面解决在TableView上实现位置固定悬浮按钮的两种方法: 1.在view上贴tableView,然后将悬 ...
- IOS 中列表的TableView 详解,常用方法整理
一.创建一个列表,不管代码还是nib拖拉,在nib创建的时候,记得加他的二个代理 (UITableViewDelegate UITableViewDataSource) 代码创建的话,需要关联他的代理 ...
- TableViewCell,TableView,UITableViewCell
这次的学习是在Navigation-based Application模板中,用RootViewController class设置操作方法,使用UITableView的属性值.在导航控制器控件为程序 ...
随机推荐
- MongoDB系列:三、springboot整合mongoDB的简单demo
在上篇 MongoDB常用操作练习 中,我们在命令提示符窗口使用简单的mongdb的方法操作数据库,实现增删改查及其他的功能.在本篇中,我们将mongodb与spring boot进行整合,也就是在j ...
- Linux(Ubuntu)使用日记------为程序添加桌面快捷方式
我们Ubuntu中的所以的程序的快捷方式都放在了/usr/share/applications文件夹下,都是以.desktop结尾的文件.我们可以在这个文件夹下创建我们的快捷方式,然后复制到桌面即可 ...
- 使用Yii2的Web框架搭建微服务框架
方法 使用自己的Yii2镜像作为基础 使用Yii2的Web框架搭建,为了节省搭建Yii2框架的时间,直接使用现有的Yii2项目,删除了业务相关的逻辑类,将这个代码库作为搭建微服务框架的基础,本身已经积 ...
- JDK源代码学习-基础类
一.概述 1.Java,是一套语言规范,例如规定了变量如何定义.控制语句如何写等,提供基本的语法规范.JDK是java自带的一套调用组件,是对基本java语法规范的进一步封装,jdk中都是使用java ...
- Ubuntu16设置Redis开机自启动
Ubuntu16设置Redis开机自启动 Ubuntu16设置Redis开机自启动 设置条件: -Ubuntu16.04 -Redis-4.0.11 在redis目录下找到 utils/redi ...
- 牛客小白月赛13 小A买彩票 (记忆化搜索)
链接:https://ac.nowcoder.com/acm/contest/549/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52428 ...
- jdbc 连接各种数据库 CRUD
一,jdbc简介 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC.这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加 ...
- pwn-格式化字符串漏洞
原理:因为没有正确使用printf()函数 正确使用 : printf('%s',str) 不正规使用:printf(str) 控制字符串str可以爆出stack内内容从而实现任意地址读或者任意地址写 ...
- Axure之动态面板:登录面板切换
无论是谁,在刚开始接触一门不太熟悉的东西时都有一种恐惧感,但是慢慢多练习几遍,再多琢磨琢磨,形成自己的见解和认识,就掌握的差不多了.我说的是题外话,现在转入正题. 面板切换,也就是我们通常所有的tab ...
- Event filter with query "SELECT * FROM __InstanceModi
Event filter with query "SELECT * FROM __InstanceModi 问题描述: Details -Event filter with quer ...