NGUI中UILabel使用url標籤的乙個bug

2022-07-23 03:33:10 字數 752 閱讀 7490

在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**後,深深地想起在學校裡教的語法解析,只依稀記得狀態機,其他的都忘記了。。。

NGUI動態新增UILabel

uilabel label nguitools.addwidget gameobject label.text 坦克 label.ambigiousfont font label.fontsize 20 label.color color label.transform.localposition ...

ngui中scrollview的使用

uiscrollview製作滑動列表,可橫向,豎直展示一些列表在固定可視範圍內 uiscrollview只是乙個可滑動的ui元件 如果需要製作複雜的可視區域ui需要配合使用uipanel與uigrid 這樣更方便ui的展示 a.建立乙個2d ui root,在ngui選單上建立乙個scroll vi...

UILabel使用技巧 三

文字大小自適應 文字大小自適應需要呼叫nsstring類的例項方法計算出文字的size,然後根據這個size來設定uilabel的frame來實現。計算size的方法有 1 sizewithfont cgsize counttextsize nsstring text 2 sizewithfont ...