C# 如何在添加到scrollView的unity游戏对象上动态添加间距?

C# 如何在添加到scrollView的unity游戏对象上动态添加间距?,c#,unity3d,C#,Unity3d,我试图在scrollview上添加文本元素,每个元素都有自己的空间 下面的代码是在创建对象后添加到scrollview子级的空游戏对象。现在,如果我手动添加高度和宽度,它可以工作,但如果字符串大小增加,它将再次变为锯齿状。因此,需要知道它以前的元素高度是多少,或者在顶部添加空间/填充 要创建和添加这些TextObject,请执行以下操作: void CreateText(GameObject canvas, string text) { //Create Canvas Text and

我试图在scrollview上添加文本元素,每个元素都有自己的空间

下面的代码是在创建对象后添加到scrollview子级的空游戏对象。现在,如果我手动添加高度和宽度,它可以工作,但如果字符串大小增加,它将再次变为锯齿状。因此,需要知道它以前的元素高度是多少,或者在顶部添加空间/填充

要创建和添加这些TextObject,请执行以下操作:

void CreateText(GameObject canvas, string text)
{
    //Create Canvas Text and make it child of the Canvas
    GameObject txtObj = new GameObject("myTextGO");
    txtObj.transform.SetParent(canvas.transform, false);

    //Attach Text,RectTransform, an put Font to it
    Text txt = txtObj.AddComponent<Text>();
    txt.text = text;
    Font arialFont = Resources.GetBuiltinResource<Font>("Arial.ttf");
    txt.font = arialFont;
    txt.lineSpacing = 1;
    txt.color = new Color(50 / 255, 50 / 255, 50 / 255, 255 / 255);

    //requriing a solution like this only dynamically.
    txt.GetComponent<RectTransform>().sizeDelta = new Vector2(100f, 200f);
}
void CreateText(游戏对象画布,字符串文本)
{
//创建画布文本并使其成为画布的子级
GameObject txtObj=新游戏对象(“myTextGO”);
txtObj.transform.SetParent(canvas.transform,false);
//附加文本、矩形变换和put字体
Text txt=txtObj.AddComponent();
txt.text=文本;
Font-arialFont=Resources.GetBuiltinResource(“Arial.ttf”);
txt.font=arialFont;
txt.linespace=1;
txt.color=新颜色(50/255、50/255、50/255、255/255);
//仅动态地重新请求这样的解决方案。
txt.GetComponent().sizeDelta=新向量2(100f,200f);
}
如何在此处为以下循环动态添加间距?以便它们作为不同的文本对象可读

for (i;i<10;i++)
    //CreateText(canvas, UserText+" Hello there! "+i);
    CreateText(canvas, "Hello there! "+i);

用于(i;iIt如果您有一个示例屏幕截图,说明您正在拍摄的内容会更容易,因为Unity可能内置了此功能。您是否尝试过ContentSizeFile?无论项目大小,它都会适当调整大小。
GridLayoutGroup
检查它。谢谢大家。我用屏幕截图更新了问题。请查看此图。