如果填充的文本未知,如何调整文本组件的高度?

Smo*_*_js 2 user-interface unity-game-engine

我从服务器获取文本,当我得到它时,我想在 UI 文本组件中显示它。当我看到创建 Text 组件时,它必须具有固定的高度和宽度时,问题就来了。有一种方法可以让文本知道它自己的文本并垂直固定自己或类似的东西?

der*_*ugo 6

分配新文本后,您可以简单地使用preferredHeight例如

public class Example : MonoBehaviour
{
    public Text textComponent;
    [TextArea] public string newText;

    [ContextMenu(nameof(ApplyText))]
    public void ApplyText()
    {
        textComponent.text = newText;

        var size = textComponent.rectTransform.sizeDelta;
        size.y = textComponent.preferredHeight;
        textComponent.rectTransform.sizeDelta = size;
    }
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明


为了使其仅增长到底部,您只需将枢轴设置固定为 pivot y = 1

您还可以使用布局下拉菜单,按住Shift并单击相应条目:

在此处输入图片说明