我希望我的 RectTransform 看起来像这样:
我正在尝试这个:
m_Viewport = go.GetComponent<RectTransform>();
m_Viewport.anchorMin = Vector2.zero;
m_Viewport.anchorMax = Vector2.one;
m_Viewport.localPosition = Vector3.zero;
m_Viewport.localScale = Vector3.one;
m_Viewport.offsetMin = new Vector2(30, 0);
m_Viewport.offsetMax = new Vector2(0, 0);
m_Viewport.sizeDelta = new Vector2(-20, 0);
但它出来是这样的:
最佳答案
试试这个:
float left = 30;
float right = 20;
m_Viewport.anchorMin = Vector3.zero;
m_Viewport.anchorMax = Vector3.one;
m_Viewport.anchoredPosition = new Vector2((left - right)/2, 0f);
m_Viewport.sizeDelta = new Vector2(-(left + right), 0);
sizeDelta
以相同的比例向左和向右拉伸(stretch) rectTransform。由于您希望左侧尺寸与右侧尺寸不同,因此您必须移动 x 位置进行调整。关于unity3d - 如何在 Unity 中以编程方式设置 RectTransform?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51335699/