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个字符。