EnumPopup

示例程序
说明生成一个弹出菜单,为枚举类型中每个值显示一个选项,只可以单选

用法

public static Enum EnumPopup(Enum selected, params GUILayoutOption[] options);

public static Enum EnumPopup(Enum selected, GUIStyle style, params GUILayoutOption[] options);

public static Enum EnumPopup(string label, Enum selected, params GUILayoutOption[] options);

public static Enum EnumPopup(string label, Enum selected, GUIStyle style, params GUILayoutOption[] options);

public static Enum EnumPopup(GUIContent label, Enum selected, params GUILayoutOption[] options);

public static Enum EnumPopup(GUIContent label, Enum selected, GUIStyle style, params GUILayoutOption[] options);

参数

label

对应的标签名称。

selected

该区域控制的枚举选项。

style

(可选)由 GUIStyle 类型定义的 GUI 样式。

options

(可选)用于指定额外的布局属性,该参数将覆盖默认样式。

示例

public override void OnInspectorGUI () {

		// GUI style
		GUIStyle style = new GUIStyle ();
		style.fontSize = 30;
		style.normal.background = Texture2D.whiteTexture;
		style.normal.textColor = Color.red;
		style.margin = new RectOffset (0, 0, 3, 3);
		style.padding = new RectOffset (10, 10, 10, 10);
		style.alignment = TextAnchor.MiddleLeft;
	
		_target.Option = (EnumPopup.EnumOptions)EditorGUILayout.EnumPopup ("Options", _target.Option, style, GUILayout.Height (50));
}

编译结果如下:

其弹出菜单如下:

EnumFlagsField 生成的下拉菜单对比,可以发现菜单出现的位置略有不同。