我想在Unity3D 5 UI中使用从网上下载的水平图像实现scrollview,它们具有不同的随机宽高比,但我希望它们恒定高度。宽度按照它们的宽高比,如下:
我尝试使用水平布局组,但是图像变得太少,所以它可以全部适合组,当我希望它们是恒定的高度和拉伸父的宽度。所以,就像父母一样,它是主要的,它会影响孩子,但我希望孩子影响父母的总宽度(在添加新的孩子图像时展开它)。
任何想法如何实现这一目标?感谢。
答案 0 :(得分:1)
您需要在启用水平滚动并禁用垂直滚动的情况下使用ScrollView。如下图所示设置层次结构:
在名为Content
附加Horizontal Layout Group
和Content Size Fitter
的GameObject上进行以下设置:
然后在所有图像上附加Layout Element
组件,并在运行时使用图像和高度的宽高比计算宽度到Content
游戏对象,并将此宽度指定为Preferred Width
属性Layout Element
组件:在下图中,300
是图像的计算宽度:
因此,您作为孩子添加到Content
游戏对象的所有图片都会增加其父级的宽度,您也可以水平滚动查看所有图片。
p.s。我匆忙写了这个答案。希望如果不让我知道它会对你有意义,我会改进我的答案。