我正在尝试创建一个可重新排序的列表,但我在使用 EditorGUILayout 时遇到了问题。如果我使用 EditorGUI 它可以正常工作,但是这些字段的大小是静态的(除非我每次都手动计算大小)。
这是我正在做的事情:
list = new ReorderableList(serializedObject, serializedObject.FindProperty("groupSettings"), true, true, true, true);
list.drawElementCallback = (Rect rect, int index, bool isActive, bool isFocused) => {
SerializedProperty element = list.serializedProperty.GetArrayElementAtIndex(index);
EditorGUILayout.BeginHorizontal();
{
EditorGUILayout.PropertyField(element.FindPropertyRelative("poolGroupName"), GUIContent.none);
EditorGUILayout.PropertyField(element.FindPropertyRelative("minPoolSize"), GUIContent.none);
EditorGUILayout.PropertyField(element.FindPropertyRelative("maxPoolSize"), GUIContent.none);
EditorGUILayout.PropertyField(element.FindPropertyRelative("prewarmCount"), GUIContent.none);
EditorGUILayout.PropertyField(element.FindPropertyRelative("prewarmObject"), GUIContent.none);
}
EditorGUILayout.EndHorizontal();
};
当我使用 EditorGUILayout 时,控件显示在 Reorderable 列表下方。我仍然可以交换命令,但内容总是显示在列表下方。