2016-08-23 83 views
2

我想在Unity3D 5 UI中实现滚动视图,从web上下载水平图像,他们有不同的随机长宽比,但我希望他们是恒定高度。和宽度根据它们的纵横比是这样的:Unity3D UI中具有图像高度不变的水平滚动视图 - 如何?

enter image description here

我试图用水平布局组,但图像得到的太少,所以它可以全部装入组,当我想他们是不变身高和伸展父母的宽度。所以,像父母的小孩是主要的,它会影响孩子,但我希望孩子影响父母的总宽度(当添加新的孩子图像时扩大它)。

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

+0

你检查了这个:http://stackoverflow.com/a/38479097/4366237 –

+0

嗯,谢谢,现在检查... – Roman

回答

0

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

enter image description here

在游戏对象命名Content附上Horizontal Layout GroupContent Size Fitter以下设置:

enter image description here

然后在所有的图像附加Layout Element组件并在运行期间使用图像和高度的宽高比来计算宽度,并将其与Content gameobject相关联,并将此宽度指定为Preferred Width propert Layout Element组件的Y:在下面的图片300是图像的计算宽度:

enter image description here

因此任何图像,你作为孩子添加到Content游戏对象将增加他们的父母的宽度,你也将成为能够水平滚动查看所有图像。

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