Unity ScrollRect会自动回弹的问题

#问题

通常我们会在一个父物体中加入Scroll Rect组件,在其子物体(通常是Panel)中加入Grid Layout Group组件,使得Panel中的内容可以滑动显示。

刚开始做的时候,Scroll Rect的运动类型选择的弹性,此时无论怎么拖拽和滑动,子物体显示的内容都会自动弹回。

#解决

在Scroll Rect中我们设置的显示内容是子物体Panel,所以是Panel的大小限制了内容的显示。

换句话说,Scroll Rect并不能识别Panel中到底有多少内容,它是根据Panel的大小来确定可滑动范围。而一般我们创建的子物体不会比父物体大,所以导致“完全弹性”。

故只需要保证Panel包含我们所有要显示的东西即可。

如下图,子物体Panel的大小和含有Scroll Rect的父物体一样大,就没有包含Panel外的方块,就会自动弹回。

Unity ScrollRect会自动回弹的问题

当我们将Panel大小调整到包含所有方块时,就可以实现滑动显示不回弹了。

Unity ScrollRect会自动回弹的问题