C# 如何在滚动视图中动态添加图像?

C# 如何在滚动视图中动态添加图像?,c#,unity3d,C#,Unity3d,我制作了一个如下的滚动视图: 我制作了一个128x128像素的圆形图像,如下所示: 我想要的是添加特定高度的“随机”图像(128的倍数),如下所示: 当它们很多的时候,可能看起来是这样的: 但是正如你所看到的,问题是它们在滚动条中被忽略了,而滚动条并没有改变 我的层次结构如下: 视口对象如下所示: 内容是这样的: 我知道,如果您添加一个图像作为内容的属性,滚动条会考虑图像的actuel属性。例如,在这里,如果我将图像设置为一个较大的高度,滚动条将发生变化,这将起作用: 现在,如果

我制作了一个如下的滚动视图:

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

我想要的是添加特定高度的“随机”图像(128的倍数),如下所示:

当它们很多的时候,可能看起来是这样的:

但是正如你所看到的,问题是它们在滚动条中被忽略了,而滚动条并没有改变

我的层次结构如下:

视口对象如下所示:

内容是这样的:

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

现在,如果我将图像作为孩子添加到content=中,则不会执行任何操作:


我应该怎么做呢?滚动条会将所有作为该内容子项的图像都记录下来?

我这样做的方法是将
内容的高度(和宽度,如果需要)修改为所需的值

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


您可能可以使用a来实现这一点,但我对它们的工作方式不太熟悉,无法准确判断哪个组件更容易使用,或者如何使用此组件。

我将使用的方法是将
内容的高度(和宽度,如有必要)修改为所需的值

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


您可能可以使用,但我对它们的工作方式不太熟悉,无法准确判断哪个组件更容易使用,或者如何使用此组件。

有两种方法可以统一使用滚动视图。1:通过脚本手动设置
内容的高度。这将使滚动条进行相应调整。。2:将
内容大小装配工
添加到
内容
垂直布局组
。。然后复制
内容中的每个项目。这将导致滚动视图的内容大小根据其中的项目数量自动增长。第二种方法当然更难,也不太灵活,因为你不能按照你想要的方式“定位”物品。因此,如果您需要自定义,请使用第一种方法。有两种方法可以统一执行滚动视图。1:通过脚本手动设置
内容的高度。这将使滚动条进行相应调整。。2:将
内容大小装配工
添加到
内容
垂直布局组
。。然后复制
内容中的每个项目。这将导致滚动视图的内容大小根据其中的项目数量自动增长。第二种方法当然更难,也不太灵活,因为你不能按照你想要的方式“定位”物品。因此,如果您需要自定义,请使用第一种方法。我已经尝试了
内容大小Fitter
,但正如Brandon在评论中所说,您必须添加
垂直布局组
,并提供硬编码的高度值,因此这不是一个可行的解决方案。我现在就试试你的。行了!!!!!!!!!!!!!!好的,我检查你的答案是否有效,我只需要循环所有子组件,并获得“最大”高度值。@OlivierPons我想这可能是你必须要做的,但我不完全确定你的…系统是什么。别忘了也包括物体的高度大小(如果相关的话)。已经完成了。不太明显(我不得不考虑localScale)。但它现在起作用了!我已经尝试了
内容大小Fitter
,但正如Brandon在评论中所说,您必须添加
垂直布局组
,并提供硬编码的高度值,因此这不是一个可行的解决方案。我现在就试试你的。行了!!!!!!!!!!!!!!好的,我检查你的答案是否有效,我只需要循环所有子组件,并获得“最大”高度值。@OlivierPons我想这可能是你必须要做的,但我不完全确定你的…系统是什么。别忘了也包括物体的高度大小(如果相关的话)。已经完成了。不太明显(我不得不考虑localScale)。但它现在起作用了!