2

我正在尝试在ScrollView中创建一个自定义列表,但我无法在新 UI 中做到这一点。
我有一个预制件,它是一个并排有 5 个文本元素的面板。现在,场景中有一个水平滚动条和一个垂直滚动条的ScrollView,我想在另一个下方实例化其中的 5 个预制件,使它们看起来像一张桌子。 这是我所做的,但它只是将它们实例化并拉伸它们:

    for(int i=0; i<5; i++)
    {
        GameObject q = Instantiate(questionObjectModel) as GameObject;
        q.transform.parent = questionListHolder.GetComponent<Transform>();
    }

questionObjectModel是场景中的ScrollView(我确实尝试在其中设置另一个Panel并在其上设置_Istantiate_ 预制件)。

编辑:
好的,我已经设法将它们设置为不被拉伸。现在只需要将它们设置在另一个之下:

q.transform.SetParent(questionListHolder.transform, false);
4

1 回答 1

5

我是在朋友的帮助下做到的。
ScrollView内添加新面板并在该面板上添加组件垂直布局组内容大小过滤器。当你这样做时,在你正在实例化设置组件布局元素的预制件上,如果你愿意,可以设置首选大小。
然后只需实例化预制件:

        GameObject q = Instantiate(questionObjectModel) as GameObject;
        q.transform.SetParent(questionListHolder.transform, false);

您可以在http://docs.unity3d.com/Manual/HOWTO-UICreateFromScripting.html上看到实例化说明

我希望它有所帮助。

于 2015-01-17T10:56:18.090 回答