0

图片显示 textarea 中缺少自动换行

如何将自动换行添加到编辑器文本区域?我正在尝试模仿 [TextArea] 属性(自动换行,需要时自动增加高度)

我知道 GUILayout.TextArea() 有效,但我希望使用 EditorGUILayout,因为根据文档,它正确响应复制/粘贴、全选等。

我的代码:

obj.talkableFlavorText = EditorGUILayout.TextArea(obj.talkableFlavorText, GUILayout.MinHeight(textAreaHeight));
4

1 回答 1

2

使用 aGUIStyle并将 wordWrap 属性设置为true

基于Unity Editor Window Example的完整示例

using UnityEngine;
using UnityEditor;

public class MyWindow : EditorWindow
{
    string myString = "Hello World";

    // Add menu named "My Window" to the Window menu
    [MenuItem("Window/My Window")]
    static void Init()
    {
        // Get existing open window or if none, make a new one:
        MyWindow window = (MyWindow)EditorWindow.GetWindow(typeof(MyWindow));
        window.Show();
    }

    void OnGUI()
    {
        GUIStyle style = new GUIStyle(EditorStyles.textArea);
        style.wordWrap = true;
        myString = EditorGUILayout.TextArea(myString, style);
    }
}

结果:

在此处输入图像描述

于 2020-09-07T18:19:35.023 回答