untiy的UGUI中Text文本框输入空格自动换行问题及解决方法

问题原因:
在使用TEXT的时候 会发现 如果在中文与中文之间打空格会导致文本换行,这是因为中文半角空格 与英文空格相同,text默认为英文空格,会自动判断你空格后单词能否放下,如果这行放不下就自动给你换行,应用在中文字符上,就判断后面的所有为一个单词,所以就换行了。

解决办法:
1.换成全角空格
简单粗暴直接, 不过很难看(放弃)

2.替换text中的空格编码格式

using UnityEngine.UI;
using UnityEngine;

[RequireComponent(typeof(Text))]
public class NonBreakingSpaceTextComponent : MonoBehaviour
{
    public static readonly string no_breaking_space = "\u00A0";

    protected Text text;
    // Use this for initialization
    void Awake ()
    {
        text = this.GetComponent<Text>();
        text.RegisterDirtyVerticesCallback(OnTextChange);
    }

    public void OnTextChange()
    {
        if (text.text.Contains(" "))
        {
            text.text = text.text.Replace(" ", no_breaking_space);
        }
    }

}

将NoBreakingSpaceTextComponent挂在Text组件上,每当Text设置text文字,准备重新绘制Text网格时,NoBreakingSpaceTextComponent会检查并替换text文字里的换行空格。

https://blog.csdn.net/qq_41516375/article/details/102860801?utm_medium=distribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-102860801-blog-125375767.235v43pc_blog_bottom_relevance_base7&spm=1001.2101.3001.4242.1&utm_relevant_index=3

### Unity UGUI 教程与资源 #### 了解UGUI基础概念 Unity的UI系统称为UGUI (Universal Render Pipeline),它提供了一套强大的工具用于创建游戏中的用户界面。为了更好地理解和使用UGUI,可以从学习其基本组件开始,比如Canvas、Panel、Button等[^4]。 #### 官方文档和博客文章 官方文档是获取最新最权威的信息的最佳途径之一。对于想要深入了解Addressable Asset System如何优化资源管理以及对UGUI的影响,可以参考Unity官方博客上的这篇文章[^3]。这不仅有助于理解资源加载机制,还能帮助开发者构建高效的游戏UI。 #### 实战项目练习 实际操作往往能带来更好的学习效果。可以通过编写简单的C#脚本来控制UI元素的行为,例如`PlayerUI.cs`展示了如何利用SerializedField属性关联Inspector面板上的字段到代码内部变量,并通过Tooltip特性为这些字段添加描述信息。 ```csharp using UnityEngine; using UnityEngine.UI; namespace Com.MyCompany.MyGame { public class PlayerUI : MonoBehaviour { [Tooltip("UI Text to display Player's Name")] [SerializeField] private Text playerNameText; [Tooltip("UI Slider to display Player's Health")] [SerializeField] private Slider playerHealthSlider; void Start() { // Initialize UI elements here. } } } ``` #### 社区支持与其他资源 除了官方渠道外,还有许多第三方网站提供了丰富的教程视频和指南,如YouTube频道、个人博客或是专门针对特定功能的技术论坛。这些都是非常宝贵的学习材料来源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值