在使用代码给Text赋值时,且文本有多段,并需要根据实际文本高度适配Text组件的高度时,可以使用以下方法:
//Text文本
public TextMeshProUGUI text;void Start()
{//代码赋值文本text.text = "好!\n很好!\n非常好!";//获取文本的高度float preferredHeight = text.preferredHeight;//获取文本的RectTransformRectTransform rectTransform = text.GetComponent<RectTransform>();//组件高度根据实际文本高度自适应rectTransform.sizeDelta = new Vector2(rectTransform.sizeDelta.x, preferredHeight);
}
设置前:
文本超出了组件框了。
设置后:
文本有多高,组件就有多高。