Creator 1.3 RichText单行显示或者换行显示的问题

我在Creator中使用RichText的时候遇到了一些问题,就是一个正常的cc.Label,我设置了他的width之后,如果label的string过长,则label会自动换行,没有任何问题。
但是对于RichText,如果我要现实的字符串过长,会出现两种情况:
(我要显示的字符串是

"<color=#000000>要想富,少生孩子多种树</c>。\n<color=#FF0000>长风破浪会有时,直挂云帆济沧海。</c><color=#00FF00>醉里挑灯看剑,梦回吹角连营。</c>\n<color=#00EEEE>雄关漫道铮如铁,而今漫步从头越。</c>"


如果我将RichText的MaxWidth(富文本的最大宽度,传0的话意味着手动换行)设置为0,则显示的结果是:

如果将MaxWidth设置为500,则显示的结果是:

两张图其实好像是一样的~
RichText对应的对象的父节点的宽度是520,所以我设置的宽度是500,但是RichText换行的宽度放眼望去肯定是小于500的,也就是说RichText小于500的时候就自动换行了;另一方面,他换行了,但是行高却没有变,出现的现象是两行挤到一行的空间里面去了,导致只能看到第一行的下半部分和第二行的上半部分。
然后其实我想要的效果是它能够自动换行,之前是用cc.Label的效果就很好,下面是之前使用cc.Label时候的效果:

请问怎么做才能让我的RichText达到Label一样的效果?
是我哪里没有配置好吗?

能否弄个简单的 demo 传上来?谢谢

不和谐啊,写了一个小程序,RichText是可以用的。
RichTextDemo.rar (470.5 KB)
显示正常,没有问题。
我再研究一下~

原来是因为我加了一个字体,去掉字体就可以正常显示了。

ok,去掉字体可以用就好。。。

醉里挑灯看剑,梦回吹角连营

但是我们策划说了,一种游戏只能有一种字体,我也觉得蛮有道理的,用系统默认字体明显是不行的。
然后我就在昨天发的游戏的demo里面随便放了3个windows系统C盘里面自带的ttf文件,然后测试了一下,发现加上字体之后格式就乱了,
加了字体文件变好大~其实我就是在之前的demo里面的RichText里面加了一个字体,然后布局就出错了。如下:


不加字体时是能够正常显示的:

请问这个问题如何解决?

目前我正在查这个问题。。。

你添加上图中的红色框框里面的代码,然后重新构建一个 web 引擎就好。

上面的代码在 CCRichText.js 里面。

需要添加的代码如下:

        labelSegment.enableWrap(false);

您好,按照你的方法,在项目中单行显示没有问题了(也就是需要将MaxWidth设为0的时候是没有问题了);但是在需要换行的时候还是有问题。
这是现在项目中出现的现象(可以看到在有两行的情况下,第二行正常显示了,第一行被挤到一起去了)

而要显示的内容是

醉里挑灯看剑,梦回吹角连营。八百里分麾下炙,五十弦翻塞外声。沙场秋点兵。马作的卢飞快,弓如霹雳弦惊。了却君王天下事,赢得生前身后名。可怜白发生。

不加字体时正常的显示应该是:

就算是放在上面我穿的样例程序中,,当我加入了字体后也会出现问题的。下面是demo程序加字体运行后的效果:

不过还是感谢您的回答解决了单行显示的问题,但是多行显示还是有问题,麻烦您再看一下:)

目前自定义字体多行显示是有问题。。。 晚点我再看看。。

有劳

请问这个问题有解决吗?

还没看,最近事情比较多。

https://github.com/cocos-creator/cocos2d-x-lite/pull/439

照着这个 PR 修改一下 native 引擎就可以了。