NGUI用UIGrid加载Item会有部分空出来的解决办法
来源:互联网 发布:linux自启动脚本 编辑:程序博客网 时间:2024/05/26 02:18
NGUI用UIGrid加载Item会有部分空出来的解决办法----------------NGUI 3.8.0
先描述碰到的问题
我的Hierarchy
加载用的方法是如果加载的数据数多于已经存在的Item的数量,就创建;如果少于已经存在的Item的数量就把多余的隐藏起来;
但是在运行的时候会出现下图的情况
有一部分空了出来;
我想应该那部分空出来的是被隐藏的部分,于是在每次赋值的时候都给UIGrid Reposition了一下,但是还是不行
解决办法:
UIGrid下有个选项Hide Inactive ,非活动状态隐藏
勾选后
自动把隐藏部分占用的空间挤了出来
另附加载代码
----->数据多于激活的Item
List<Transform> list = FindAll();//所有现存Item的集合 var listA = list.Where<Transform>(s => s.gameObject.activeSelf == true);//激活的 var listD = list.Where<Transform>(d => d.gameObject.activeSelf == false);//未激活的 if (itemList.Count>=listA.Count())//如果现有的item不足或是正好那么多 { Transform[] trs = listA.ToArray(); //把现有的激活的item先利用上 for (int i = 0; i < trs.Length; i++) { trs[i].GetComponent<BackpackItemController>().rawdata = itemList[i]; } //不够?把现有的隐藏的item激活了来利用 Transform[] trd = listD.ToArray(); for (int i = 0; i <Mathf.Min( trd.Length,itemList.Count - trs.Length); i++) { trd[i].gameObject.SetActive(true); trd[i].GetComponent<BackpackItemController>().rawdata = itemList[i + trs.Length]; } //还不够?new出来 for (int i = 0; i < itemList.Count - trd.Length - listA.Count(); i++) { GameObject itemPre = Resources.Load("Backpack/Item") as GameObject; NGUITools.AddChild(grid.gameObject, itemPre).GetComponent<BackpackItemController>().rawdata = itemList[i + trs.Length+trd.Length]; } }
------->数据少于激活的Item,就把没有用到的Item隐藏
else if (itemList.Count<listA.Count())//现有的item多了,就把没有用到的item给隐藏起来 { for (int i = 0; i <= listA.Count(); i++) { if (i<itemList.Count) { listA.ElementAt(i).GetComponent<BackpackItemController>().rawdata = itemList[i]; print(2); } else if(i>=itemList.Count) { listA.ElementAt(i-1).gameObject.SetActive(false); print(1); } print(3); } } grid.repositionNow = true;
0 0
- NGUI用UIGrid加载Item会有部分空出来的解决办法
- NGUI下UIGrid的刷新
- NGUI-UIGrid
- u3d之NGUI的UIGrid初探
- NGUI 动态加载item
- NGUI中使用UIGrid时出现cell重叠解决办法
- Unity3D:NGUI UIGrid 排序、动态加载与销毁
- 【Unity3D】【NGUI】UIGrid
- unity开发 --------- NGUI (UIGrid)
- NGUI之UIGrid
- NGUI之UIGrid & UITable
- unity NGUI的UIGrid与UITable的区别
- NGUI学习笔记(一):UIGrid的自定义 Sort
- NGUI控件说明(中文) UIGrid
- NGUI所见即所得之UIGrid & UITable
- NGUI UIScrollView UIGrid性能优化
- NGUI控件说明(中文) UIGrid
- NGUI所见即所得之UIGrid & UITable
- js 面向对象,多重创建对象方法
- Oracle带输出参数的存储过程和调用
- log4j2 使用详解
- Spark连接数据库方法
- 1到正整数N中所有整数中1的个数
- NGUI用UIGrid加载Item会有部分空出来的解决办法
- android代码混淆,打包签名出错
- jquery 网页滚动到底部自动加载
- linux sort命令
- DP·数位DP
- java 反射通过get方法获得属性值
- c++简单链表
- Leetcode[1] Two Sum
- 【转】业界主流单片机剖析