在做文本框的时候,我们经常碰到需要计算字符输入的长度,然后适当地做处理。这个时候不能直接了当地拿text.Length来用,原因有:

1、字符会因为fontSize的大小不同而有不同的宽度;

2、即使fontSize在你的场景里是同一的,字符也有英文字符和中文字符等的差别,它们的宽度也是相差极大的,比如字符I和字符N的宽度就很不一样,而与任何一个中文字符又是不一样的。

好在Unity也提供了这样的方法给我们使用。如下例:

public Text text;

?public int allTextWidth;

foreach(var item in input.text)

{

CharacterInfo info = new CharacterInfo();

text.font.GetCharacterInfo(item, out info, 14);//14是字体的字号,可以从text里获取。

allTextWidth += info.advance;//总的字符宽度

}

最后得到的就是总的字符宽度,以像素为单位。

比如你的文本框只允许显示100像素长度的字符,如果超过这个大小的话,则以省略号...显示,就可以拿这个值与100比较。

最新文章

  1. poj1200-Crazy Search(hash入门经典)
  2. Step by step Install a Local Report Server and Remote Report Server Database
  3. notepad++快捷键大全
  4. 如何理解meta标签
  5. 【iOS】Quartz2D截屏
  6. [转]JAVA程序员一定知道的优秀第三方库(2016版)
  7. python3 pyqt5 和eric5配置教程
  8. SQL Server 2005、SQL Server 2008版本比较
  9. 開始学习swift开发
  10. [Javascript] The JSON.stringify API
  11. OSCHina技术导向:Java全文搜索框架Lucene
  12. 防盗链之URL参数签名
  13. python读写文件\r\n问题
  14. ionic报错: Failed to load resource
  15. day50 django第一天 自定义框架
  16. java代码------charAt()的用法
  17. Fetch的使用; Yarn命令集; NVM的管理;VueCLi3的使用;
  18. Underground Lab CodeForces - 782E (欧拉序)
  19. video事件
  20. jquery序列化表单以及回调函数的使用

热门文章

  1. .net core格式化响应数据(json驼峰格式)
  2. oracle的dblink创建连接查询及使用
  3. 集成mupdf实现手写笔签批应用
  4. django源码剖析(steup、runserver、生命周期)
  5. 注意注意!!!!关于keil的问题,调试时候的bug
  6. vue动态切换图片
  7. 深度剖析生产工厂用ERP系统进行管理有哪些优势
  8. 正确处理iOS从下方滑出滚动视图
  9. git技能树总结
  10. windows下BAT实现守护进程