coco2dx-lua學習筆記(2)-ListView的處理(2)

在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


運行結果:

listView的運行結果如下:

詳細代碼請移步:
https://github.com/Jahvey/authur_cocos_project/tree/master/2018-06/25/DemoForListView_good

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章