我正在尝试梳理我的检查器,但是在检查器中的指定位置绘制文本时遇到了很多麻烦。我在下面的样本检查器上绘制了一个彩色矩形,并希望在其上方绘制文本(如标签)。
如何在上面显示的“ X”位置绘制文本/标签?我不确定从哪里开始。任何帮助将不胜感激。
实施答案:
public override void OnGUI(Rect position)
{
GUIStyle myStyle = new GUIStyle();
myStyle.fontSize = 16;
myStyle.alignment = TextAnchor.UpperLeft;
myStyle.padding.top = 5;
myStyle.padding.left = -3;
myStyle.fontStyle = FontStyle.Bold;
Color32 color = colorSpacer.drawColor; // Custom Property Attribute
EditorGUI.DrawRect(new Rect(position.x-11, position.y, position.width+11, position.height-2), color);
Rect r = GUILayoutUtility.GetLastRect();
EditorGUI.LabelField(r, "Section Header", myStyle);
}
答案 0 :(得分:1)
如果要使用EditorGUI绘制自定义编辑器,则可以使用LabelField
,PrefixLabel
,SelectableLabel
或HandlePrefixLabel
方法,具体取决于您的具体情况。期望的行为。
如果使用EditorGUILayout进行绘制,则这些方法等效。
此外,HeaderAtribute装饰器无需自定义编辑器即可完成此操作。