有关ngui grid中去除一项后的排序问题

遇到这个问题,是在实现一个公告栏界面的时候,公告栏可以新增一条公告,也可以删除一条公告。

新增很简单,这里不做多的介绍;

关于删除,之前的代码是:

GameObject go = is_parent.transform.FindChild(name).gameObject;
UIGrid grid = is_parent.GetComponent<UIGrid>();
Destroy(go);
grid.Reposition();

但是没有效果,选择任何排序模式都没效果。一直都是在grid中有一个  单元元素大小的 空缺位置。

随后百度n次之后,有人说使用 grid.repositionNow = true;

随后代码为:

GameObject go = is_parent.transform.FindChild(name).gameObject;
UIGrid grid = is_parent.GetComponent<UIGrid>();
Destroy(go);

grid.repositionNow = true;

依然无效,很是纠结。

最终一想,这里的销毁只是销毁当前 单元元素对象,并没有在grid中做处理,换而言之,grid中还是把这个删除的元素当做正常存在的元素在处理,有了这个想法之后,代码就成了现在这个样子:

GameObject go = is_parent.transform.FindChild(name).gameObject;
UIGrid grid = is_parent.GetComponent<UIGrid>();
grid.RemoveChild(go.transform);
Destroy(go);
grid.sorting = UIGrid.Sorting.Vertical;
grid.repositionNow = true;

先在grid中移除当前元素

再销毁这个元素

最后设置排序(在前面的几种方案中,设置排序是在面板上做的。)

最后刷新排序

OK!

到这里算是完整结束了,希望能帮助到遇到这个问题正在找方法的人。

时间: 2024-10-05 06:44:27

有关ngui grid中去除一项后的排序问题的相关文章

[LeetCode] Remove Duplicates from Sorted Array 有序数组中去除重复项

Given a sorted array, remove the duplicates in place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this in place with constant memory. For example,Given input array A = [

[LeetCode] Remove Duplicates from Sorted Array II 有序数组中去除重复项之二

Follow up for "Remove Duplicates":What if duplicates are allowed at most twice? For example,Given sorted array A = [1,1,1,2,2,3], Your function should return length = 5, and A is now [1,1,2,2,3]. 这道题是之前那道Remove Duplicates from Sorted Array 有序数组中

[LeetCode] 26. Remove Duplicates from Sorted Array ☆(从有序数组中删除重复项)

[LeetCode] Remove Duplicates from Sorted Array 有序数组中去除重复项 描述 Given a sorted array nums, remove the duplicates in-place such that each element appear only once and return the new length. Do not allocate extra space for another array, you must do this

sed tr 去除PATH中的重复项

最近发现由于自己不良的安装软件的习惯,shell的PATH路径包含了很多冗余的项.这里使用shell命令去除PATH的冗余项. export PATH=$(echo $PATH | sed 's/:/\n/g' | sort | uniq | tr -s '\n' ':' | sed 's/:$//g') 上面的代码可以去除linux环境变量中的重复项. 最近查看环境变量时,发现PATH中包含了很多重复项,而在~/.bashrc中又没有看到什么重复的指令,只好手动去重了. 起先在网上看到有人使用

删除数组中某一项并输出删除后的数组

方法一: package delete;import java.util.Scanner;public class delete { public static void main(String[] args){ Scanner input = new Scanner(System.in); int[] num = new int[]{3,6,9,13}; System.out.print("请输入要删除的数:"); int number = input.nextInt(); bool

jquery选中将select下拉框中一项后赋值给text文本框

jquery选中将select下拉框中一项后赋值给text文本框,出现无法将第一个下拉框的value赋值给文本框 因为select默认选中第一项..在选择第一项时,便导致无法激发onchange事件.所以无法进行赋值给文本框 解决方法. select下拉框设置第一项做一个无用的占位option <script type="text/javascript">     function changeSelect(obj) {         var _this = obj;  

C#中去除List&lt;T&gt;中重复项的问题/LINQ Distinct重复项

List<T>是.NET中最常用的一种数据结构了,我们常常把需要操作的对象都放到一个List<T>里面.有的时候,我们需要让List<T>中的数据保持唯一性,也就是说List中的数据不能有重复的项.我们知道,List<T>中可以存放任意的类型,如List<int>,List<string>等.为了剔除List<T>中的重复项,.NET为我们提供了一个Distinct()函数.对于普通类型的List,我们可以直接调用该函数剔

关联分析中寻找频繁项集的FP-growth方法

关联分析是数据挖掘中常用的分析方法.一个常见的需求比如说寻找出经常一起出现的项目集合. 引入一个定义,项集的支持度(support),是指所有包含这个项集的集合在所有数据集中出现的比例. 规定一个最小支持度,那么不小于这个最小支持度的项集称为频繁项集(frequent item set). 如何找到数据集中所有的频繁项集呢? 最简单的方法是对所有项集进行统计,可以通过逐渐增大项集大小的方式来遍历所有项集.比如说下面的数据集,先统计所有单个元素集合的支持度,{z} 的支持度为5 (这里把项目出现次

ASP.NET 5 中的依赖项管理

ASP.NET 5 中的依赖项管理? 提示 本文链接: http://cnblogs.com/qin-nz/p/5034398.html 或 http://blog.qin.nz/aspnet5/aspnet5-dependency-management.html 做过实际开发的都知道,我们需要引用各种各样的类库来帮助我们完成项目的开发. 本文将从服务器端和浏览器端两个方面介绍ASP.NET 5 中的依赖项管理. 服务器端代码使用 Nuget 作为包管理器? 对于已经习惯使用 Visual St