使用Unity3D关于NGUI中使用StrollView初始位置异常

在项目开发中遇到NGUI StrollView初始显示异常,子物体出现在父物体中心。通过分析发现子物体位置参照父物体transform。解决办法是调整StrollView的Transform位置并配合UIPanel的Offset属性,实现正确初始显示。调整Transform和UIPanel的Offset后,子物体显示恢复正常。

最近开发公司了里的一个项目的过程中,使用到了NGUI 中的StrollView ,踩了一些坑=-=
1.代码动态生成StrollView子物体StrollViewItem的一些坑
1)子物体mStrollViewItem通过

mScrollViewItem=NGUITools.AddChild(mScrollView, (GameObject)Resources.Load(path)).transform;

方法生成在mStrollView父物体上时,子物体集最上面的位置是参照父物体的transform,这也就是这个:
这里写图片描述
这样子的话,问题出现了。
通过代码生成的第一个子物体会被放在父物体的位置,也就是StrollView的中心位置,然后第一个子物体在最上面,下面依次有若干子物体:
这里写图片描述
在Game面板中,初始化就会出现子物体们的初始位置是从父物体的中心开始往下的,然而用鼠标拖动一下StrollViewItem,又会恢复到正常。

为了解决这个问题,就需要用到UIPanel了。
先调整StrollView的实际位置Transform,往上移动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值