关于ios的文字换行,以及2dx的文字换行

来源:互联网 发布:javascript 代码规范 编辑:程序博客网 时间:2024/04/29 19:54

rt

今天遇到客户端显示换行的问题, 

使用cocos2dx的cclabelttf类,设定定宽,自动换行。

显示文字“攻击力30%增加。hp10%其他人以的文字”


结果在还有空余的时候,hp10%显示在第二行。

调查结果:

因为cclablettf在ios中使用的是UILineBreakModeWordWrap,是以单词为单位换行的,而剩余的空间不足以显示hp10%,只能显示hp10,所以会把10%放到第二行。


typedef enum {
   UILineBreakModeWordWrap = 0,
   UILineBreakModeCharacterWrap,
   UILineBreakModeClip,
   UILineBreakModeHeadTruncation,
   UILineBreakModeTailTruncation,
   UILineBreakModeMiddleTruncation,
} UILineBreakMode;


   UILineBreakModeWordWrap = 0,
   以单词为单位换行,以单位为单位截断。
   UILineBreakModeCharacterWrap,
   以字符为单位换行,以字符为单位截断。
   UILineBreakModeClip,
   以单词为单位换行。以字符为单位截断。
   UILineBreakModeHeadTruncation,
   以单词为单位换行。如果是单行,则开始部分有省略号。如果是多行,则中间有省略号,省略号后面有4个字符。
   UILineBreakModeTailTruncation,
   以单词为单位换行。无论是单行还是多行,都是末尾有省略号。
   UILineBreakModeMiddleTruncation,
   以单词为单位换行。无论是单行还是多行,都是中间有省略号,省略号后面只有2个字符。

0 0