По умолчанию все группы EditorGUILayout.BeginHorizontal()
и EditorGUILayout.BeginVertical()
заполняют всю доступную родительскую ширину (или ширину EditorWindow).Даже просто вертикальные группы.Но в то же время height
всегда равно 0 (если там нет элементов, иначе ширина будет равна общей высоте внутренних элементов).
Что нужно сделать, чтобы принудительно заполнить всю доступную или оставшуюся высотудля групп элементов?
Что нужно сделать, чтобы заполнить пространство равномерно?
Что у меня сейчас:
EditorGUILayout.BeginHorizontal(); {
// EditorGUILayout.TextField("Label", "Text");
} EditorGUILayout.EndHorizontal();
containerRect = GUILayoutUtility.GetLastRect();
var containerRectVertical = Rect.zero;
EditorGUILayout.BeginHorizontal(); {
EditorGUILayout.BeginVertical(); {
} EditorGUILayout.EndVertical();
containerRectVertical = GUILayoutUtility.GetLastRect();
} EditorGUILayout.EndHorizontal();
var containerRect2 = GUILayoutUtility.GetLastRect();
Debug.Log($"winSize: {position.width}x{position.height}, horizSectonSize: {containerRect.width}x{containerRect.height}, 2: {containerRect2.width}x{containerRect2.height}" +
$", containerRectVertical: {containerRectVertical.width}x{containerRectVertical.height}");
Вывод:
winSize: 446x192, horizSectonSize: 447x0, 2: 447x0, containerRectVertical: 447x0
Хотите:
winSize: 446x192, horizSectonSize: 447x96, 2: 447x96, containerRectVertical: 447x96
или
winSize: 446x192, horizSectonSize: 447x192, 2: 447x0, containerRectVertical: 447x192