lua -- 在面板中添加多个部件
function UIBagController:initItemView( )
-- 获取面板
self.panelCenter = tolua.cast(UIHelper:seekWidgetByName(self.owner, "Panel_Center"), "Layout");
-- 获取面板下的子节点,多级子节点也可以获取到
local imageViewGrid1 = tolua.cast(UIHelper:seekWidgetByName(self.panelCenter, "ImageView_Grid1"), "ImageView");
local x, y = imageViewGrid1:getPosition();
local h, w = imageViewGrid1:getSize().width, imageViewGrid1:getSize().height;
local gridX, gridY = x , y
-- 获取父节点,也就是相应的面板
self.parentLayout = imageViewGrid1:getParent();
self.defaultTexture = imageViewGrid1:getTexture()
imageViewGrid1:setVisible(true);
imageViewGrid1:setTouchEnabled(false);
local imageViewItemTmp = tolua.cast(UIHelper:seekWidgetByName(imageViewGrid1, "ImageView_Item"), "ImageView");
imageViewItemTmp:setVisible(false)
local oLine = print("\n\n========背包个数==========" .. ItemM:getAmount());
for i = , ItemM:getAmount() do
-- 字符串处理函数
local gridName = string.format("ImageView_Grid%d", i);
local imageViewGrid = tolua.cast(UIHelper:seekWidgetByName(self.panelCenter, gridName), "ImageView");
if imageViewGrid == nil then
local imageViewGridTmp = imageViewGrid1:clone();
table.insert(self.itemArr, imageViewGridTmp);
if (i-)%self.numPerLine == then
gridY = y - (i-)/self.numPerLine * self.gridYInterval
oLine = oLine +
end
gridX = x + (i-)%self.numPerLine * self.gridXInterval
imageViewGridTmp:setName(string.format("ImageView_Grid%d", i));
local labelItemNameTmp = tolua.cast(UIHelper:seekWidgetByName(imageViewGridTmp, "Label_ItemName"), "Label");
labelItemNameTmp:setText(" ");
self:setLabelFont(labelItemNameTmp)
local labelItenNum = tolua.cast(UIHelper:seekWidgetByName(imageViewGridTmp, "Label_ItenNum"), "Label");
labelItenNum:setText(" ");
self:setLabelFont(labelItenNum)
imageViewItemTmp = tolua.cast(UIHelper:seekWidgetByName(imageViewGridTmp, "ImageView_Item"), "ImageView");
imageViewItemTmp:setVisible(false);
imageViewGridTmp:setVisible(true);
-- 将克隆出来的节点添加进去
self.parentLayout:addChild(imageViewGridTmp);
imageViewGridTmp:setPosition(ccp(gridX, gridY));
imageViewGridTmp:setTouchEnabled(true);
else
table.insert(self.itemArr, imageViewGrid);
end
end
-- 获取按钮控件 后面的Button要看引擎中类是怎么定义的
local btnArrange = tolua.cast(UIHelper:seekWidgetByName(self.owner, "btnArrange"), "Button");
-- 给控件绑定事件,这里不一定只有按钮才可以,其他控件也可以
btnArrange:addTouchEventListener(function ( uiwidget, eventType )
-- 判断触摸类型
if eventType == TOUCH_EVENT_ENDED then
self:ClearGoods();
self:initItemView();
self:showData();
UISystemTips:SystemTips("bag_arrange");
end;
end);
end
lua -- 在面板中添加多个部件的更多相关文章
- SharePoint Framework 向web部件中添加外部库
博客地址:http://blog.csdn.net/FoxDave 在进行开发的时候,你很可能会想要引用一些公开的JavaScript库到你的项目中,本文将会介绍如何打包和共享这些库. 打包脚本 默认 ...
- Step by step 活动目录中添加一个子域
原创地址:http://www.cnblogs.com/jfzhu/p/4006545.html 转载请注明出处 前面介绍过如何创建一个域,下面再介绍一下如何在该父域中添加一个子域. 活动目录中的森林 ...
- java中向JTextArea中添加滚动条(垂直的和水平的)
这次在研究java的swing类时,在做一个实例时,发现了JTextArea中添加滚动条的问题,经过网上查找资料和自己测试发现有以下用法: 1.首先应该把JTextArea添加到一个JScrollPa ...
- Quartus中添加时序约束
1.sdc文件也是要添加到Quartus 软件中,这样在执行Read SDC File命令时才能读到相应的文件. 2.在TimeQuest打开的条件下,重新编译工程之后要Update Timing N ...
- [译]如何在Unity编辑器中添加你自己的工具
在这篇教程中你会学习如何扩展你的Unity3D编辑器,以便在你的项目中更好的使用它.你将会学习如何绘制你自己的gizmo,用代码来实现创建和删除物体,创建编辑器窗口,使用组件,并且允许用户撤销他们所作 ...
- 4. 在Inspector面板中显示类中变量+ 拓展编辑器
1. C#脚本如下: using UnityEngine; using System.Collections; public class MyTest : MonoBehaviour { ; ; [S ...
- (原)torch7中添加新的层
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6069627.html 参考网址: http://torch.ch/docs/developer-doc ...
- OSG项目经验2<在场景中添加文字面版>
添加文字版需要用到osg的三个名字空间: osgText::Text,这个类用来添加文字和设置文字的一些属性: ...
- 在MFC对话框中添加状态栏
如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图). 1. 首先,打开在资源视图的String Table并添加两个ID: ...
随机推荐
- SpringBoot bootstrap 配置文件没有生效
今天单独使用SpringBoot,发现其中的bootstrap.properties文件无法生效,改成yaml格式也无济于事. 最后调查发现原来是因为SpringBoot本身并不支持,需要和Sprin ...
- mysql字符生命周期
mysql的字符集,对数据的导入导出很关键,明白自己集在不同阶段不同场景下的意义即为重要! 01.查看mysql当前字符集 show variables like '%cahr%'; 02.用户请求m ...
- Arduino和C51开发光敏传感器
技术:51单片机.Arduino.光敏传感器.PCF8591.AD/DA转换 概述 本文介绍了如何接收传感器的模拟信号和如何使用PCF8591 AD/DA转换模块对光敏传感器的模拟信号进行转换.讲 ...
- oracle 11g空表导不出问题
查询空表 ' 生成分配空间的执行语句 or num_rows is null 复制出来执行即可.
- 关于UDP-读这篇就够了(疑难杂症和使用)
本文为转载文章 原文链接:https://www.qcloud.com/community/article/848077001486437077 版权归原文所有 关于UDP 面向报文的传输方式决定了U ...
- 完善_IO, _IOR, _IOW, _IOWR 宏的用法与解析
_IO, _IOR, _IOW, _IOWR 宏的用法与解析 原文地址:http://www.eefocus.com/ayayayaya/blog/12-03/245777_20cdd.html 作 ...
- 树莓派进阶之路 (027) - 在Linux中增加swap空间
原贴地址:http://blog.csdn.net/chinalinuxzend/article/details/1759593 在Linux中增加swap空间 在安装Linux的时候,不知道swa ...
- Android——检测TXT文件中是否含有双字节字符
在读取双字节字符时,主要涉及到编码的选取: public static boolean isRightfulTXT(File f) { // TODO Auto-generated method st ...
- 【jsp】JSP中page指令isThreadSafe
<%@ page isThreadSafe="true|false" %> 默认值为true isThreadSafe=false模式表示它是以Singleton模式运 ...
- 【JavaScript】浅析JavaScript中arguments对象的使用
arguments对象不能显式创建,arguments对象只有函数开始时才可用.函数的 arguments 对象并不是一个数组,访问单个参数的方式与访问数组元素的方式相同.索引 n 实际上是 argu ...