首页 > 代码库 > NGUI UIGrid(或UITable)回收利用Item预设体 [未解决]
NGUI UIGrid(或UITable)回收利用Item预设体 [未解决]
在我们的项目中,有挺多界面都需要垂直拖拽滚动面板,而面板上面有几十到上百个Item,这个时候肯定Item的动态添加肯定是用预设体来实现!
在编码的时候,尝试写个对预设体Item的回收再用list,但是却行不通(现在暂时是用网上大部分blog所提到的用Destroy(GameObject)来实现动态删除),我的想法是这样的:
1.使用Transform UIGrid.RemoveChild(int index)移除UIGird下的子控件,同时函数会返回被删除控件的Transform,这个时候重置数据再用list保存起来;
2.需要添加Item的时候就向list拿,若list为空就load预设体Item。
但实际上,调用UIGrid.RemoveChild(int index)函数之后,下断点调试检测UIGird的子控件数量(UIGird.transform.childCount)竟然没有变化!因为时间紧急,也没仔细查看RemoveChild函数里面的源码,不过,单单是上述所提到“UIGird的数量没有变化”这一点就让循环利用创建出来的预设体这一想法打了水漂~~希望是我还没完全了解NGUI UIGird组件,不然就太悲催了,每次需要添加Item就得Load预设体,然后删除就是直接调用Destroy函数!
等过阵子再抽时间仔细看看,先备忘一下。
NGUI UIGrid(或UITable)回收利用Item预设体 [未解决]
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。