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
生成的下拉菜单对比,可以发现菜单出现的位置略有不同。