Back to Top

NGUI 富文本扩展

NGUI的UILabel支持简单的富文本和表情,但有两个缺点:

  1. 使用表情的时候,必须使用图片字,对于聊天这个功能来说,图片字会占用太大内存。
  2. 不支持动态表情

为了解决这两个问题,我写了一个简单的 富文本扩展

富文本的设计主要有两点:

  1. 富文本格式解析
  2. 图文混排

富文本格式解析

富文本格式部分采用了wow的UI转义格式 Wow UI escape sequences,如:

  • 颜色: |C[ARGB], |r
  • 图片: |T[Path]|t
  • 链接: |H[Data]|h[Text]|h

图文混排

采用 UILabel 和 UISprite 动态创建来实现图文混排。

如果所有的表情在一张贴图上,理论上只占用两个DrawCall。