タブを表示するのに利用できるクラスは GUILayout.toolbar
です
2019.1で追加された EditorGUILayout.EditorToolbar も利用できると思いましたが全然用途が違いました
GUILayout.toolbar
public static int Toolbar (int selected, string texts, params GUILayoutOption options);
public static int Toolbar (int selected, Texture images, params GUILayoutOption options);
public static int Toolbar (int selected, GUIContent contents, params GUILayoutOption options);
タブの表示名に利用できるものは string
, Texture
, GUIContent
の3つがある
GUILayoutOption
に GUI.ToolbarButtonSize を設定することでタブの表示範囲を変えることができる
GUI.ToolbarButtonSize.Fixed
GUI.ToolbarButtonSize.FitToContents
using UnityEditor; using UnityEngine; public class TabWindow : EditorWindow { private readonly string[] _tabToggles = { "TabA", "TabB", "TabC" }; private int _tabIndex; private void OnGUI() { using (new EditorGUILayout.HorizontalScope(EditorStyles.toolbar)) { _tabIndex = GUILayout.Toolbar(_tabIndex, _tabToggles, new GUIStyle(EditorStyles.toolbarButton), GUI.ToolbarButtonSize.FitToContents); } EditorGUILayout.LabelField(_tabToggles[_tabIndex]); } }