在Unity3D UI中水平滚动视图与图像恒定高度 - 如何?

时间:2016-08-23 10:57:10

标签: unity3d unity3d-gui

我想在Unity3D 5 UI中使用从网上下载的水平图像实现scrollview,它们具有不同的随机宽高比,但我希望它们恒定高度。宽度按照它们的宽高比,如下:

enter image description here

我尝试使用水平布局组,但是图像变得太少,所以它可以全部适合组,当我希望它们是恒定的高度和拉伸父的宽度。所以,就像父母一样,它是主要的,它会影响孩子,但我希望孩子影响父母的总宽度(在添加新的孩子图像时展开它)。

任何想法如何实现这一目标?感谢。

1 个答案:

答案 0 :(得分:1)

您需要在启用水平滚动并禁用垂直滚动的情况下使用ScrollView。如下图所示设置层次结构:

enter image description here

在名为Content附加Horizontal Layout GroupContent Size Fitter的GameObject上进行以下设置:

enter image description here

然后在所有图像上附加Layout Element组件,并在运行时使用图像和高度的宽高比计算宽度到Content游戏对象,并将此宽度指定为Preferred Width属性Layout Element组件:在下图中,300是图像的计算宽度:

enter image description here

因此,您作为孩子添加到Content游戏对象的所有图片都会增加其父级的宽度,您也可以水平滚动查看所有图片。

p.s。我匆忙写了这个答案。希望如果不让我知道它会对你有意义,我会改进我的答案。