在某些应用场景,我们可能需要把不同的文本按照某种格式排序,并且使用同一个格式的预制体复制出来赋值。但是这样会存在组件宽度一样,但是文本长度不一样,导致文本堆叠的情况,如下图:
此时就需要文本自动由文本自身长度自适应宽度。
具体可以通过以下方法实现:
public TextMeshProUGUI text;
void Start()
{
text.text = "你好呀!";
float preferredWidth = text.preferredWidth;
RectTransform rectTransform = text.GetComponent<RectTransform>();
rectTransform.sizeDelta = new Vector2(preferredWidth, rectTransform.sizeDelta.y);
}
通过以上方法,最终可实现如下效果: