Unity3D在新UI中实例化预制件列表

fil*_*pst 2 unity-game-engine unity3d-gui

我想在ScrollView中创建一个自定义列表,但我无法在新的UI中设置它.
我有一个预制件,它是一个带有5个文本元素的面板.现在,ScrollView在场景中有一个水平和一个垂直滚动条,我想在另一个下面实例化 5个预制件,使它们看起来像一个桌子. 这是我做的,但它只是在彼此之上实例化并延伸它们:

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

questionObjectModel是场景中的ScrollView(我确实尝试在其中设置另一个面板和 _Istantiate_预制件).

编辑:
好的,我设法让它们不被拉伸.现在只需将它们设置在另一个下面:

q.transform.SetParent(questionListHolder.transform, false);
Run Code Online (Sandbox Code Playgroud)

fil*_*pst 5

我是在朋友的帮助下做到的.
ScrollView内部添加新面板,然后在该面板上添加组件Vertical Layout GroupContent Size Filter.当您这样做时,在预制件上您实例化设置组件布局元素并根据需要设置首选大小.
然后只需实例化预制件:

        GameObject q = Instantiate(questionObjectModel) as GameObject;
        q.transform.SetParent(questionListHolder.transform, false);
Run Code Online (Sandbox Code Playgroud)

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

我希望它有所帮助.