Как я могу жирным шрифтом EditorGUILayout.Toggle в сценарии EditorWindow? - PullRequest
0 голосов
/ 05 марта 2019

Прежде чем я спросил о том, как жирным шрифтом GUI. Переключить Ответ заключался в создании стиля:

GUIStyle myToggleStyle = new GUIStyle(GUI.skin.toggle);

Затем установите его жирным шрифтом:

myToggleStyle.fontStyle = FontStyle.Bold;

И последний раз используйте его с переключателем:

GUI.Toggle(new Rect(5, 10, 200, 60), false, "Select All", myToggleStyle);

Но теперь я использую другой Toggle с тем же текстом «Выбрать все», но на этот раз это EditorGILayout.Toggle, и мне не нужно или не нужно использовать GUI.Toggle, поскольку GUI.Toggle нужен Rect.

Проблема в том, что с EditorGUILayout.Toggle myToggleStyle не работает. Он ничего не делает и не делает текст / шрифт жирным.

Это внутри OnGUI:

EditorGUI.BeginChangeCheck();
selectAll[i] = EditorGUILayout.Toggle("Select All", selectAll[i]);
if (EditorGUI.EndChangeCheck())
              SelectDeselectAll(i);

Я пробовал это:

EditorGUI.BeginChangeCheck();
GUIStyle myToggleStyle = new GUIStyle(GUI.skin.toggle);
myToggleStyle.fontStyle = FontStyle.Bold;
selectAll[i] = EditorGUILayout.Toggle("Select All", selectAll[i], myToggleStyle);
if (EditorGUI.EndChangeCheck())
    SelectDeselectAll(i);

Но слово "Выбрать все" не выделяется жирным шрифтом.

1 Ответ

1 голос
/ 05 марта 2019

Рабочий раствор:

EditorGUI.BeginChangeCheck();
var origFontStyle = EditorStyles.label.fontStyle;
EditorStyles.label.fontStyle = FontStyle.Bold;
selectAll[i] = EditorGUILayout.Toggle("Select All", selectAll[i]);
EditorStyles.label.fontStyle = origFontStyle;
if (EditorGUI.EndChangeCheck())
    SelectDeselectAll(i);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...