【第一章编辑器开发基础第二节编辑器布局_1水平与垂直布局(1/4)】

基本布局系统(水平与垂直布局)

​​用途​​:控制UI元素排列

​​核心类​​:GUILayout

​​调用位置​​:OnInspectorGUI()

​​布局容器​​:

csharp 复制代码
GUILayout.BeginHorizontal(); // 开始水平布局
GUILayout.BeginVertical();   // 开始垂直布局
// ... UI元素 ...
GUILayout.EndHorizontal();   // 必须成对结束
GUILayout.EndVertical();
​​经典嵌套布局​​:

GUILayout.BeginHorizontal();

GUILayout.BeginVertical();
GUILayout.Button("左列按钮1");
GUILayout.Button("左列按钮2");
GUILayout.EndVertical();

GUILayout.BeginVertical();
GUILayout.Button("右列按钮1");
GUILayout.Button("右列按钮2");
GUILayout.EndVertical();

GUILayout.EndHorizontal();

​​黄金法则​​:

Begin/End必须严格配对

嵌套不得超过8层(Unity限制)

垂直和水平布局可自由组合

示例代码和效果图

csharp 复制代码
using UnityEngine;
using UnityEditor;

/// <summary>
/// 创建自定义编辑器,作用于Example组件
/// </summary>
[CustomEditor(typeof(Example))]
public class ExampleEditor : Editor
{


    // ================= 核心方法 - 绘制编辑器界面 =================
    public override void OnInspectorGUI()
    {
        // 1. 先绘制默认Inspector内容
        base.OnInspectorGUI();

        // 2. 依次绘制各种自定义控件

        Layout();      // 基本布局示例

      
    }




    // ================= 8. 基本布局示例 =================
    private void Layout()
    {
        // 主水平布局
        GUILayout.BeginHorizontal();

        // 左侧垂直布局
        GUILayout.BeginVertical();
        GUILayout.Button("btn1");
        GUILayout.Button("btn2");
        GUILayout.EndVertical();

        // 右侧垂直布局
        GUILayout.BeginVertical();
        GUILayout.Button("btn3");
        GUILayout.Button("btn4");
        GUILayout.EndVertical();

        GUILayout.EndHorizontal(); // 结束主水平布局
    }


}
相关推荐
zhangfeng11331 天前
vscode 之类的编辑器 ,跳转到某一个函数 方法 是什么快捷键 this->getEbayReturns($shop);
ide·vscode·编辑器
ShawnLiaoking1 天前
vscode 配置环境
ide·vscode·编辑器
羌俊恩2 天前
Vim modeline 命令执行漏洞(CVE-2026-34714)修复指导
linux·编辑器·vim·漏洞·cve-2026-34714
Project_Observer2 天前
为您的项目选择最合适的Zoho Projects自动化巧能
大数据·运维·人工智能·深度学习·机器学习·自动化·编辑器
好运的阿财2 天前
“锟斤拷”问题——程序中用powershell执行命令出现中文乱码的解决办法
linux·前端·人工智能·机器学习·架构·编辑器·vim
砖头拍死你2 天前
Powershell使用vim修改文件保存后文件名自动全变小写
linux·编辑器·vim
番茄炒西红柿炒洋柿子2 天前
CC Switch搭建到vscode
vscode·编辑器
爱分享的阿Q2 天前
VSCode1114-AI全面接管编辑器
人工智能·编辑器
数据知道2 天前
claw-code 源码详细分析:compat-harness——对接编辑器生态时,兼容层该吞掉哪些「历史包袱」?
ai·编辑器·claude code·claw code
大强同学3 天前
对比 VS Code:Zed 编辑器编码体验全面解析
人工智能·windows·编辑器·ai编程