先上图看效果:
原理:一个uilabel 多条纯色的线条sprite
详情:首先对于要进行超链接的文字进行特殊标记如:showText="[00ff00]zsadzd[ff0000]{财富sf表}[-]统计得 置表对 应到[ff0000]{公司司}[-]示RT完[ff0000]{广颜颜播}[-]全居 中显示";其实解析showText,分析出其超链接显示的位置X及Y以及所占长度以及事件ID,对于当前超链接显示超出本行时,再标记一个超链接显示的位置XY及长度但事件ID为同一个即可;最后把Label显示出来并利用解析出来的超链接显示位置及长度信息创建画线sprite以及加入collider进行事件响应。
注意:1.uilabel的每行显示宽度为label.lineWidth;
2.去除text中颜色标记方法:NGUITools.StripSymbols(showText);