先看代码:
using UnityEngine;
using UnityEngine.UI;
public class TestInput : MonoBehaviour
{
    [SerializeField]
    InputField inputField;
    void Start()
    {
        Debug.Log(inputField.text);
		Debug.Log(inputField.text.Length);
		Debug.Log(inputField.preferredWidth);
		Debug.Log(inputField.textComponent.text);
		Debug.Log(inputField.textComponent.text.Length);
		Debug.Log(inputField.textComponent.preferredWidth);
	}
} 
再看输出结果:

这里InputField的输入内容是:"abcdefghijklmnopqrstuvwxyz",这个是实际输入的内容,打印出来的字母数量是26,适配宽度preferredWidth是181。
但是InputField的属性textComponent的文本内容是"abcdefghijklmno",也就是文本输入框内部实际显示的内容,所以它的字母数量是15,适配宽度preferredWidth是103。
这里需要说明的是以前不知道InputField有个preferredWidth属性,以为只有Text类的对象才有这个属性,而且以前把inputField.textComponent.text和inputField.text混为一谈,闹了不少笑话,哈哈。



















