在csb主界面中,引用其他csb文件,並添加到listView中
代碼如下:
local MainScene = class("MainScene", cc.load("mvc").ViewBase)
MainScene.RESOURCE_FILENAME = "Layer.csb"
MainScene.RESOURCE_BINDING={
["ListView_1"]={["varname"]="list1"}
}
function MainScene:onCreate()
printf("resource node = %s", tostring(self:getResourceNode()))
--[[ you can create scene with following comment code instead of using csb file.
-- add background image
display.newSprite("HelloWorld.png")
:move(display.center)
:addTo(self)
-- add HelloWorld label
cc.Label:createWithSystemFont("Hello World", "Arial", 40)
:move(display.cx, display.cy + 200)
:addTo(self)
]]
local table1={"1","2","3","4","5"}
--for i=1,3 do
for k,v in pairs(table1) do
--print("i:···"..i)
local base_layer = cc.CSLoader:createNode("Node.csb")
local item2= base_layer:getChildByName("item")
item2:removeFromParent() --注意:item2原來有其父節點,必須要首先將item從其父節點中移除,才能添加成功
local btn1 = item2:getChildByName("Button_1")
local ck1 = item2:getChildByName("CheckBox_1")
local img1 = item2:getChildByName("image_1")
local text1 = item2:getChildByName("Text_1")
text1:setString("text=="..v)
print("text1:getString() "..text1:getString())
--print("base_layer pos "..base_layer.getPosition().." "..item2.getPosition())
btn1:setName("text"..v)
print("···"..btn1:getName())
--self.ListView_1:addChild(item1)
--self.lv1:addChild(item2)
self.list1:setItemsMargin(50)
--self.list1:refreshView()
self.list1:pushBackCustomItem(item2)
end
end
return MainScene
運行結果:
詳細代碼請移步:
https://github.com/Jahvey/authur_cocos_project/tree/master/2018-06/25/DemoForListView_good