【小松教你手游开发】【unity实用技能】NGUI Scrollview的Reposition的几个总结

本文总结了Unity中NGUI Scrollview的Reposition相关知识点,包括UIScrollview与UIGrid的区别,如何正确使用Scrollview.ResetPosition()、grid.Reposition()和grid.repositionNow = true。删除数据后,通过更新UIGrid和Scrollview的状态来保持界面的正确显示,同时解决了grid.keepWithinPanel = true可能导致的问题。
摘要由CSDN通过智能技术生成

NGUI的Scrollview当要重置的时候那几个reposition阿,ResetPosition,repositionNow什么的非常烦。

现在稍稍总结一下

首先。分清两个概念。一个是UIScrollview,一个是UIGrid。


UIScrollview是负责显示用的,UIGrid会在UIScrollview下。移动啊,置顶啊,其实都是UIScrollview控制的。

Scrollview.ResetPosition()就是让这个表格回到顶端(默认顶端,可以自己设置)


UIGrid是负责把所有数据放到UIGrid这个框框里的。操作只跟自己框框内的有关,所有这个UIScrollView的移动跟这个没关系。

所以grid.Reposition()只是让格子里的数据重新排布一下。

grid.repositionNow = true;是让格子立刻刷新。

(在使用过程中发现只有下面的能用。看里面也没懂为什么。。。)


所以说当你要删除数据中的一条时,就是把那个GameObject删掉。

然后grid.repositionNow = true;让UIGrid里面下面的数据网上推

然后scrollview.ResetPosition();//让Scrollview重新刷一下回到顶端。


但是如果不需要去到顶端就不用scrollview.ResetPosition();了。


但是这个会有一个问题就是grid.keepWithinPanel = true会告诉UIScrollview这些数据需要显示在框框里,但是你又在移里面的位置。这时候就会出问题。

所以解决的方法是暂时设为fals

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值