Unity Text组件宽度自适应文本长度的方法

在某些应用场景,我们可能需要把不同的文本按照某种格式排序,并且使用同一个格式的预制体复制出来赋值。但是这样会存在组件宽度一样,但是文本长度不一样,导致文本堆叠的情况,如下图:

Unity Text组件宽度自适应文本长度的方法_第1张图片

此时就需要文本自动由文本自身长度自适应宽度。

具体可以通过以下方法实现:

public TextMeshProUGUI text;

void Start()
{
   text.text = "你好呀!";
   float preferredWidth = text.preferredWidth;
   RectTransform rectTransform = text.GetComponent();
   rectTransform.sizeDelta = new Vector2(preferredWidth, rectTransform.sizeDelta.y); 
}

通过以上方法,最终可实现如下效果:

Unity Text组件宽度自适应文本长度的方法_第2张图片

你可能感兴趣的:(unity,游戏引擎,c#)