UGUI之 Text内容长度限定

在UGUI里Text显示的字符有时候需要个数限制。只需将下面代码绑定到text上就可以了。

namelenth是用来接收文字个数的。在其他脚本里只要设置namelenth这个值就可以。由于Setnamelength()这个方法一直在Update里被调用,所以可以实时的将改变的个数值namelenth传入下面的Setnamelength()这个方法。


本案例中用按键盘P键来限定了传入个数为3。

代码如下:

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class namelenthlimit : MonoBehaviour {

    public int namelenth=0;//限定字符个数(不分中英文,按个数)
  
  
	
	// Update is called once per frame
	void Update () {

        if (Input.GetKey(KeyCode.P))
        {
            this.gameObject.GetComponent<Text>().text = "一行白鹭上青天";
            namelenth = 3;
        }

        Setnamelength(namelenth);
    }

    public void Setnamelength(int i)//给名字限定i个字符的长度
    {
        string nameLenthString = this.gameObject.GetComponent<Text>().text;

        if (this.gameObject.GetComponent<Text>().text.Length > i)
        {
           // Debug.Log("长度"+ i);
            this.gameObject.GetComponent<Text>().text = nameLenthString.Substring(0, i).ToString() + "…";//截取到指定长度
        }
        else
            return;
       
    }
}


测试效果如下:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值