Unity 代码控制Text自适应文本高度

在使用代码给Text赋值时,且文本有多段,并需要根据实际文本高度适配Text组件的高度时,可以使用以下方法:

//Text文本
public TextMeshProUGUI text;

void Start()
{
    //代码赋值文本
    text.text = "好!\n很好!\n非常好!";

    //获取文本的高度
    float preferredHeight = text.preferredHeight;

    //获取文本的RectTransform
    RectTransform rectTransform = text.GetComponent();

    //组件高度根据实际文本高度自适应
    rectTransform.sizeDelta = new Vector2(rectTransform.sizeDelta.x, preferredHeight);    
}

设置前:

Unity 代码控制Text自适应文本高度_第1张图片

文本超出了组件框了。

设置后:

Unity 代码控制Text自适应文本高度_第2张图片

文本有多高,组件就有多高。

你可能感兴趣的:(unity,c#)