【小松教你手游开发】【unity实用技能】NGUI Scrollview的Reposition的几个总结
2015-11-26 21:02
597 查看
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这些数据需要显示在框框里,但是你又在移里面的位置。这时候就会出问题。
所以解决的方法是暂时设为false。
所以总代码如下:
现在稍稍总结一下
首先。分清两个概念。一个是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这些数据需要显示在框框里,但是你又在移里面的位置。这时候就会出问题。
所以解决的方法是暂时设为false。
所以总代码如下:
//Update grid bool originalKeepWithinPanel = _itemGrid.keepWithinPanel; _itemGrid.keepWithinPanel = false; //Need to set this to false or else buttons will not properly be at top if player scrolls past bottom then switch tabs _itemGrid.repositionNow = true; //_scrollView.ResetPosition(); //Reset and move scroll panel back to original start position, required before and after tabbing - see ngui docs _itemGrid.keepWithinPanel = originalKeepWithinPanel;
相关文章推荐
- unity实现多点触控代码
- 在Unity中实现动画的正反播放代码
- unity实现摄像头跟随
- Unity3D上路_01-2D太空射击游戏
- Unity3D上路_02-第一视角射击游戏
- Unity3D上路_03-塔防游戏
- Unity3D上路_04-基础资源介绍
- Unity3D上路_05-网络相关
- [软件资讯]Unity已支持将3D游戏导出成Flash
- Unity 武器拖尾效果
- unity常见问题之20题
- Unity3D动画存储插件
- unity 赛车相机跟随物体移动
- (Endless)Scroll View(画卷滚动视图)
- Unity 预编译宏
- Unity AssetDatabase类
- VS2013中 命名空间“UnityEngine”中不存在类型或命名空间名称“UI”。是否缺少程序集引用?
- unity 实现炸弹人放炸弹后只进不出的一种方法
- Unity3D占用内存太大的解决方法
- 【Unity】安卓项目使用带有资源Jar包SDK的打包方法