
Text.preferredWidth / Text.preferredHeight : Text的最优宽度/高度,保持当前高度/宽度不变,计算最优宽度/高度
在Text.text赋值字符串后,计算字符串的最优高度或宽度,可动态调整Text尺寸大小
例如,限制Text的最大和最小宽度,自动调整高度:
public class Test : MonoBehaviour
{
//Text最小/最大宽度
private int textSizeMinWidth = 100;
private int textSizeMaxWidth = 500;
int index = 0;
private void Update()
{
if(Input.GetMouseButtonDown(0))
{
index++;
Text targetText = GetComponent<Text>();
string contentStr = "";
for(int i = 0; i < index; i++)
{
contentStr += "测试";
}
SetTextSize(targetText,contentStr);
}
}
private void SetTextSize(Text targetText,string contentStr)
{
if(targetText == null)
return;
targetText.text = contentStr;
//宽高都不缩放
if(targetText.preferredWidth <= textSizeMinWidth)
return;
//宽度缩放,高度不变
if(targetText.preferredWidth <= textSizeMaxWidth)
{
targetText.rectTransform.sizeDelta = new Vector2(targetText.preferredWidth,targetText.rectTransform.sizeDelta.y);
return;
}
//宽度最大,高度缩放
//设置最大宽度
targetText.rectTransform.sizeDelta = new Vector2(textSizeMaxWidth,targetText.rectTransform.sizeDelta.y);
//设置最优高度
int textSizeHeight = Mathf.CeilToInt(targetText.preferredHeight);
targetText.rectTransform.sizeDelta = new Vector2(textSizeMaxWidth,textSizeHeight);
}
}
本文来自博客园,作者:萧然CS,转载请注明原文链接:https://www.cnblogs.com/z-c-s/p/15112852.html
浙公网安备 33010602011771号