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