这几天换UI碰到一个问题,纠结了一天,然后各种百度,各种群咨询,终于在几番折腾后实现了自己想要的效果,现在分享思路和方法:

1.UI准备

在cocos studio里面新建一个含有ListView容器的文件,设置name和可见性

如图:

1)主界面


2)Item项



3.程序动态加载UI文件,方法有很多,

self.uilayer = cc.CSLoader:createNode("Layer.csb");

读取ListView控件

local listView = self.uilayer:getChildByName("ListView"); --这是主界面中的Listveiew

local item_node = self.uilayer:getChildByName("item_node"); -- 这里是一个做好的item项
self.item_node1 = item_node:getChildByName("maincell"); -- 这里是一个做好的item项layout


local self.item= {};
   for i = 1, #msg_ans.target_list do
        self.item[i] = self.item_node1:clone();
        local target = msg_ans.target_list[i];
        --self.item[i]为Obj
        local playerInfoBgSp = self:createEnemyUnit(target, self.item[i]);
        listView:pushBackCustomItem(self.item[i]);
    end

实现效果:


如果有疑问的可以留言咨询。。。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐