基于Layout Group和Content Size Fitter实现
BG挂载:
让文本框自己变大。如果背景是个彩色图片,再加个Image弄个干净的背景
这里自动调整大小是固定Pivot位置不变的。如果想让文本框向下扩展,就把Pivot放到上方。
基于text.preferred宽高+代码设置
Text控件有preferred宽高,就是把文本显示全的宽高。这个在Text检查器没法使用,代码可以使用。
这个没解决加纯色背景的问题。没有上面的方案好。
using UnityEngine; using UnityEngine.UI; namespace MyFarm { [ExecuteAlways] [RequireComponent(typeof(Text))] public class UITextTest:MonoBehaviour { [SerializeField] Text text; [SerializeField] bool fitW,fitH; [SerializeField] Vector2 size; Vector2 originalSize; private void Awake() { text = GetComponent<Text>(); originalSize = text.rectTransform.sizeDelta; } private void Update() { size.x = fitW ? text.preferredWidth : originalSize.x; size.y = fitH ? text.preferredHeight : originalSize.y; text.rectTransform.sizeDelta = size; } } }