您可以使用
FlexibleSpace
元素之间填充元素未占用的空间。
EditorGUILayout.BeginHorizontal();
{
GUILayout.FlexibleSpace(); // Fill Space Beginning
allChildren[i] = EditorGUILayout.ObjectField(allChildren[i], typeof(Transform), true) as Transform;
GUILayout.FlexibleSpace(); // Fill Space Middle
GUILayout.Label(names[i]);
GUILayout.FlexibleSpace(); // Fill Space End
}
EditorGUILayout.EndHorizontal();
它似乎不适用于
EditorGUILayout.LabelField
,以上使用替换
GUILayout.Label
。
如果希望标签位于右半部,对象字段位于左半部(完全均匀),则需要设置每个字段的显式大小(两者相等),以便正确居中。
您使用的所有元素都有
params GUILayoutOption[]
这就是指定元素宽度的方式。例如:。
GUILayout.Label(names[i], GUILayout.Width(150));