1顶级父类加boxCollider和UIDragScrollView脚本保证在item拖走后也能通过拖拽剩余区域的方式操作。
在NGUI中,ScrollView是一个非常棒的界面,不过刚开始使用的时候一直一些事项没有搞懂,现在算是明白了,可以轻松上手了,下面把一些注意的问题写出来分享一下。
一个是回弹问题,开始做的时候,一直没有明白例子中那个回弹的效果是如何实现,如图这样的效果
确实这个效果在IOS上非常流行,用户体验也很棒,它的原理也是利用一个UIDragPanelContents代码控件完成的。
在window的UIPanel里面有这么一个物体Outline,在例子界面上的作用是一个ScrollView背景,之所以可以回弹全靠这个,点击这个物体,给它添加一个Collier和UIDragPanelContents,将Draggable Panel属性设置为Clipped View即可看到效果了,记住这个背景最好放大些,这样手指只要在这个背景的区域内都可以滑动ScrollView了。
如果在自己的界面中不想看到这层背景,但是没有这层又不行,最好的方法就是把这层的Alpha值设为0,这样就变成透明的了,也就看不到了
当然,如果你的里面放置的仅仅是文本图片之类的,基本就结束了,但是如果是响应的控件,比如按钮,可以会有无法响应的问题,就是可以滑动,但是按钮无法被点击,造成的原因其实是Collider的前后关系,这层触摸背景的Collider比按钮的Collider要靠前,造成触发器先接受到了,所以按钮就不响应了。
解决办法就是把触摸背景这层的Z轴放后一些,放在按钮的后面,这样问题就可以解决了。
二是ScrollView里面的Item没有被装满却可以被拉动,会造成Item的位置改变而无法回复原位,如果不想被拉动,只有里面的Item超过了显示界面才可以被拉动,只需要勾上ScrollViewPanel上的Disable Drag If Fits即可。