NGUI中UILabel使用url标签的一个bug
2014-05-22 20:08
183 查看
在NGUI里,UILabel控件可以支持一些简单功能的标签,使文本显示更丰富及实现类似超链接的功能。但是在使用的时候发现了NGUI3.5.9版本里存在着一个bug。不过还好修复这个bug也很简单。
在UILabel中支持text的方式来定义类超链接的文本。bug就出现在同一个UILabel里使用两个及以上这种标签时,最终显示的label内容就会全错掉。
text内容:a[url=
当再输入任一字符后,label的内容就全消失了。
bug修复:在NGUIText类中,有一个函数ParseSymbol,这个函数里对文本中定义的标签进行识别(个人感觉写得太难看了,一个字,丑陋)。这函数里找到对url标签的匹配,将其中的
原因就是在寻找‘]’字符时的开始位置错误。这样子就解决问题了。
ps: 其实NGUI的这个功能还是挺鸡肋的,还不如去用html engine for ngui插件,用标准的html标签
ps2: 在看了那段ParseSymbol代码后,深深地想起在学校里教的语法解析,只依稀记得状态机,其他的都忘记了。。。
在UILabel中支持text的方式来定义类超链接的文本。bug就出现在同一个UILabel里使用两个及以上这种标签时,最终显示的label内容就会全错掉。
text内容:a[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代码后,深深地想起在学校里教的语法解析,只依稀记得状态机,其他的都忘记了。。。
相关文章推荐
- Url以.(点)结尾,在使用httpwebrequest读取的时候,微软会有一个bug……
- 使用Url Rewrite 如果原始Url就带QueryString时候的一个问题
- 在使用.Net Reflector时发现了一个Bug:)
- htmlparser 处理标签的一个bug
- 我也来秀一个FreeMarker自定义的数据分页标签及使用示例
- 使用silverlight构建一个工作流设计器(二十一)-增加标签(下)
- 写给公司的一个Bug需求管理系统,公司一直使用良好
- 实践中Javascript使用RegExp.$1导致trim()自定义函数的一个Bug
- 一个使用URLDownloadToFile实现文件下载的类
- 一个完整的对日期、金额格式化的标签及使用示例
- 使用 background:url(#) 解决 IE6&7 bug
- 在使用.Net Reflector时发现了一个Bug:)
- 一个使用HttpWebRequest类下载指定URL网页的例子
- vs2008beta2中Linq2Sql的一个bug:无法使用XmlMappingSource
- FSCommand /getURL 重复使用 bug
- FLASH PLAYER 9.0的一个BUG getURL(url,"_self","POST") 点击无效
- 关于使用Asp.net导出Excel,遭遇“LinkButton必须放在一个具有runat=server的标签的Form”的解决方案。
- posix多线程程序使用条件变量的一个常见bug
- 在Flash Builder中使用SWFAdress时的一个Bug
- 一个使用URLDownloadToFile实现文件下载的类