如何将动态图像添加到滚动视图中?

时间:2017-12-25 02:33:48

标签: c# unity3d

我做了这样的滚动视图:

scrollview

我制作了一个128x128像素的图像,如下所示:

circle 128x128 pixels

我想要的是添加"随机"某个高度(128的倍数)的图像,如下所示:

"random" image added of a certain height

如果有很多这样的话,它可能会是这样的:

When there's a lot of them

但正如您所看到的,问题是它们会从滚动条中忽略而不会发生变化。

我的层次结构是这样的:

my hierarchy

视口对象是这样的:

The viewport object

内容如下:

The content object

我知道如果您将图像添加为内容的属性,滚动条会考虑图像的实际属性。例如,在这里,如果我将图像设置为较高的高度,则滚动条会发生变化并起作用:

image as a property

现在,如果我将一个图像添加到content =作为一个孩子,这没有任何作用:

image into the content = as a child

我应该怎么做才能让滚动条获取帐户内容的所有子图像?

1 个答案:

答案 0 :(得分:2)

我这样做的方法是使用RectTransform.SetSizeWithCurrentAnchorscontent的高度(和宽度,如有必要)修改为所需的值。

看来您的特定用例在达到所需高度时会遇到一些困难,但如果您有一些计算方法,只需调用该方法即可。这两个参数的大小是所需的大小(在这种情况下,是所需的高度)以及应用该大小的方向(在本例中为RectTransform.Axis.Vertical)。

您可以使用Content-Size-Fitter执行此操作,但我对他们如何正确判断可能更容易或如何使用此组件的工作方式不够熟悉。