一:前言
当Text的文本中的字符串一行显示不下并有空格时,空格后的字会被当作一个整体换行显示
Unity这样设定是用于英语等西文的,是为了保证单次不会被分开显示,所以空格后的字符串会被当成一个单词给换行处理了
二:解决方法
平时我们打出的空格都是带这种换行功能的,但是也有一种不换行的空格,Unicode编码为\u00A0
所以只要将换行空格替换为不换行空格("\u00A0")即可:
using UnityEngine.UI;
using UnityEngine;
/// <summary>
/// 不读取换行空格的Text组件
/// </summary>
[RequireComponent(typeof(Text))]
public class NonBreakingSpaceText : MonoBehaviour
{
private Text txt;//Text文本组件
private const string NonBreakingSpace = "\u00A0";//不换