一般来说,昵称等用户输入的自定义数据都需要限制一下显示的长度。
NGUI的INPUT输入框限制的是最大的char字符数,char字符数其实就是string的长度,中文算一个,英文也算一个。无法达到限制字节的效果。
如下:
既然NGUI已经提供了限制char的效果,咱们不妨将这个功能改为限制字节数。限制字符数的原理主要是计算当前字符数,若超过则删除最后添加的一个文字,要注意到很可能用户会同时输入多个字,所以需要循环删除最后一个字符,直到
字节数小于等于设定值。
具体实现方式:
1.找到UIInput.cs这个脚本,找到UpdateLabel ()函数。
2.然后你会看到有下面这一行代码:
if (maxChars > 0 && mText.Length > maxChars) mText = mText.Substring(0, maxChars);
很显然是限制char字数的,将这行代码注释掉。
3.加上以下代码:
//fix bytes length to adapt
byte[] bytestr = System.Text.Encoding.Default.GetBytes(mText);
if (maxChars > 0 && bytestr.Length > maxChars)
{
}
//fix end
http://blog.sina.com.cn/s/blog_5b6cb9500101fabw.html
本文介绍如何在NGUI中修改输入框功能,使其能够限制输入的字节数,而非仅仅字符数。通过调整脚本代码,实现更灵活的文本输入限制。
7200

被折叠的 条评论
为什么被折叠?



