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 -- 在面板中添加多个部件的更多相关文章

  1. SharePoint Framework 向web部件中添加外部库

    博客地址:http://blog.csdn.net/FoxDave 在进行开发的时候,你很可能会想要引用一些公开的JavaScript库到你的项目中,本文将会介绍如何打包和共享这些库. 打包脚本 默认 ...

  2. Step by step 活动目录中添加一个子域

    原创地址:http://www.cnblogs.com/jfzhu/p/4006545.html 转载请注明出处 前面介绍过如何创建一个域,下面再介绍一下如何在该父域中添加一个子域. 活动目录中的森林 ...

  3. java中向JTextArea中添加滚动条(垂直的和水平的)

    这次在研究java的swing类时,在做一个实例时,发现了JTextArea中添加滚动条的问题,经过网上查找资料和自己测试发现有以下用法: 1.首先应该把JTextArea添加到一个JScrollPa ...

  4. Quartus中添加时序约束

    1.sdc文件也是要添加到Quartus 软件中,这样在执行Read SDC File命令时才能读到相应的文件. 2.在TimeQuest打开的条件下,重新编译工程之后要Update Timing N ...

  5. [译]如何在Unity编辑器中添加你自己的工具

    在这篇教程中你会学习如何扩展你的Unity3D编辑器,以便在你的项目中更好的使用它.你将会学习如何绘制你自己的gizmo,用代码来实现创建和删除物体,创建编辑器窗口,使用组件,并且允许用户撤销他们所作 ...

  6. 4. 在Inspector面板中显示类中变量+ 拓展编辑器

    1. C#脚本如下: using UnityEngine; using System.Collections; public class MyTest : MonoBehaviour { ; ; [S ...

  7. (原)torch7中添加新的层

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6069627.html 参考网址: http://torch.ch/docs/developer-doc ...

  8. OSG项目经验2<在场景中添加文字面版>

    添加文字版需要用到osg的三个名字空间:                         osgText::Text,这个类用来添加文字和设置文字的一些属性:                     ...

  9. 在MFC对话框中添加状态栏

    如果我们想实现在MFC对话框中添加状态栏显示,如何例如分状态栏为两列,第一列显示鼠标的当前位置,第二列显示当前的时间,(如上图). 1. 首先,打开在资源视图的String Table并添加两个ID: ...

随机推荐

  1. SSH黄金参数

    ssh -o ConnectTimeout=3 -o ConnectionAttempts=5 -o PasswordAuthentication=no -o StrictHostKeyCheckin ...

  2. 查看Win系统激活状态

    Win键+R调出运行框,在运行框中输入cmd slmgr.vbs -dlv winver            回车后就能看到当前系统的版本 slmgr.vbs -dli 显示:操作系统版本.部分产品 ...

  3. win32获取浏览器当前Tab的URL

    代码都是win10上测试的 1. 获取IE的URL,Enum IE窗口的子句柄,找到className为Edit的句柄,然后用SendMessage WM_GETTEXT消息来获取: 上代码: #in ...

  4. 第十九章,指针小练习(C++)

    #include <iostream> int main(int argc, char** argv) { int i = 1; int *n ; n=&i;//*n=i 这样的赋 ...

  5. 五年屌丝运维工作shell精华

    屌丝运维常用shell列出你最常用的10条shellhistory | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | so ...

  6. HDU 3032 Nim or not Nim? (sg函数)

    Nim or not Nim? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  7. Php廖雪峰教程学习与实战

    https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 目录 Python教程 Pyth ...

  8. Android adjustresize全屏无效问题

    屏模式下,即使将activity的windowSoftInputMode的属性设置为:adjustResize,在键盘显示时它未将Activity的Screen向上推动,所以你Activity的vie ...

  9. MySQL复制的管理和维护

    1.查看主库 mysql> show master status; mysql> show master status; +------------------+-----------+- ...

  10. 从语句 char* p="test" 说起

    我相信,使用C/C++多年的人对下面这个字符串赋值语句都不会陌生吧.                 char* p = "test";   同时,我也相信,各位在使用这种语句后吃 ...