zoukankan      html  css  js  c++  java
  • NGUI中UILabel使用url标签的一个bug

    在NGUI里,UILabel控件可以支持一些简单功能的标签,使文本显示更丰富及实现类似超链接的功能。但是在使用的时候发现了NGUI3.5.9版本里存在着一个bug。不过还好修复这个bug也很简单。

    在UILabel中支持[url=link]text[/url]的方式来定义类超链接的文本。bug就出现在同一个UILabel里使用两个及以上这种标签时,最终显示的label内容就会全错掉。

      text内容:[url=a]a[/url][url=

    当再输入任一字符后,label的内容就全消失了。

    bug修复:在NGUIText类中,有一个函数ParseSymbol,这个函数里对文本中定义的标签进行识别(个人感觉写得太难看了,一个字,丑陋)。这函数里找到对url标签的匹配,将其中的

    //int closingBracket = text.IndexOf(']');
    //替换修复为
    int closingBracket = text.IndexOf(']', index+4);
    

     原因就是在寻找‘]’字符时的开始位置错误。这样子就解决问题了。

    ps: 其实NGUI的这个功能还是挺鸡肋的,还不如去用html engine for ngui插件,用标准的html标签

    ps2: 在看了那段ParseSymbol代码后,深深地想起在学校里教的语法解析,只依稀记得状态机,其他的都忘记了。。。

  • 相关阅读:
    HBase 安装设置
    Python中通过函数对象创建全局变量
    Scala 中 构造函数,重载函数的执行顺序
    Hive 安装配置
    976. 三角形的最大周长
    922. 按奇偶排序数组 II
    350. 两个数组的交集 II
    349. 两个数组的交集
    242. 有效的字母异位词
    925. 长按键入
  • 原文地址:https://www.cnblogs.com/bicker/p/3741791.html
Copyright © 2011-2022 走看看