NGUI中UILabel使用url标签的一个bug
在NGUI里,UILabel控件可以支持一些簡單功能的標(biāo)簽,使文本顯示更豐富及實現(xiàn)類似超鏈接的功能。但是在使用的時候發(fā)現(xiàn)了NGUI3.5.9版本里存在著一個bug。不過還好修復(fù)這個bug也很簡單。
在UILabel中支持[url=link]text[/url]的方式來定義類超鏈接的文本。bug就出現(xiàn)在同一個UILabel里使用兩個及以上這種標(biāo)簽時,最終顯示的label內(nèi)容就會全錯掉。
? text內(nèi)容:[url=a]a[/url][url=
當(dāng)再輸入任一字符后,label的內(nèi)容就全消失了。
bug修復(fù):在NGUIText類中,有一個函數(shù)ParseSymbol,這個函數(shù)里對文本中定義的標(biāo)簽進(jìn)行識別(個人感覺寫得太難看了,一個字,丑陋)。這函數(shù)里找到對url標(biāo)簽的匹配,將其中的
//int closingBracket = text.IndexOf(']'); //替換修復(fù)為 int closingBracket = text.IndexOf(']', index+4);?原因就是在尋找‘]’字符時的開始位置錯誤。這樣子就解決問題了。
ps: 其實NGUI的這個功能還是挺雞肋的,還不如去用html engine for ngui插件,用標(biāo)準(zhǔn)的html標(biāo)簽
ps2: 在看了那段ParseSymbol代碼后,深深地想起在學(xué)校里教的語法解析,只依稀記得狀態(tài)機(jī),其他的都忘記了。。。
轉(zhuǎn)載于:https://www.cnblogs.com/bicker/p/3741791.html
總結(jié)
以上是生活随笔為你收集整理的NGUI中UILabel使用url标签的一个bug的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《linux 网卡别名的添加和绑定》RH
- 下一篇: [转]Oracle DB管理内存