unity GridLayoutGroup动态创建cells大小问题

Unity GridLayoutGroup dynamicaly created cells size problem

我想从 Prefab 填充 GridLayoutGroup 子项的动态。 这是我的 GridLayoutGroup 设置

这是我动态创建单元格的代码

        for (int i = 0; i < formSkins.Count; i++)
        {
            GameObject skinElement = Instantiate(prifabSkinElemet, new Vector3(transform.position.x, transform.position.y, transform.position.z), Quaternion.identity);
            skinElement.transform.SetParent(skinElementParent.transform);
        } 

这是我得到的结果:

但是当我通过拖放到 GridLayutGroup 元素中添加预制组件(单元格)时,我得到了我想要的和我期望的。

有人能告诉我为什么动态创建子项的大小与拖放时不匹配吗?

谢谢

Transform.SetParent

public void SetParent(Transform parent, bool worldPositionStays);

worldPositionStays: If true, the parent-relative position, scale and rotation are modified such that the object keeps the same world space position, rotation and scale as before.

因此使用 transform.SetParent(x, false) 将重置其位置、比例和旋转。