如何在Unity中根据其内容的大小进行手动滚动?

How to make manual Scroll with scrolling according to the size of its contents in Unity?

您好,我正在尝试在 panel.I 中手动滚动,首先添加了一个面板。我已将 Vertical Layout Group、ContentSizeFitter、ScrollRect 脚本和 Mask 脚本添加到 panel.Then 我添加了一个空游戏对象作为 panel.To 这个空游戏对象的 child 我添加了一些 text.I已将此游戏对象添加为要在滚动中滚动的内容 script.The 我面临的问题是滚动不受限制或 elastic.I 只想根据其内容滚动而不是无限滚动或弹性 one.I 试图将 Content size fitter 中的 Vertical fit 设置为首选大小,但整个面板 shrinks.To 得到更多的想法我添加了图像。

您似乎想要手动创建 ScrollView。你知道有一个叫做 ScrollView 的 UI 元素吗? (参见 Unity Tutorial ScrollView)如果我没理解错的话,您只想滚动到文本末尾? 在下图中,您可以看到我的示例。我制作了一个 ScrollView 元素并在其内容中添加了一个 UI.Text 元素。使用这两个按钮,我可以在两个不同长度的文本之间切换,并且滚动条会更改其大小以适应文本的长度。 (在 Scroll Rect 中有不同的 MovementType 选项。)

Content 元素上,您可以添加 Content Size Fitter 和 Vertical Layout Group:

因此,当按下按钮 1 时,将显示文本 1:

并且当按下第二个按钮时,会显示更长的文本并且滚动条会发生变化:

所以我的建议是查看 ScrollView 元素,而不是在面板内进行手动滚动。

如果我没有正确理解您的问题,请澄清您的问题,我们很乐意提供帮助。