我正在尝试在 ScrollView 中制作自定义列表,但我无法在新的用户界面中进行此操作。
我有一个预制件,它是一个面板并排有5个 Text 元素。现在,场景中有 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_ prefabs)。
修改
好吧,我设法让它们不被拉伸。现在只需将它们设置在另一个之下:
q.transform.SetParent(questionListHolder.transform, false);
答案 0 :(得分:5)
我是在朋友的帮助下做到的
在 ScrollView 内部添加新的 Panel ,然后在该面板上添加组件 Vertical Layout Group 和 Content Size Filter 。当您这样做时,在预制件上您将实例化设置组件布局元素并根据需要设置首选大小。
然后用以下方法实例化预制件:
GameObject q = Instantiate(questionObjectModel) as GameObject;
q.transform.SetParent(questionListHolder.transform, false);
您可以在http://docs.unity3d.com/Manual/HOWTO-UICreateFromScripting.html
上看到实例化说明我希望它有所帮助。