Cocos creator label.string设置后怎么获取新设置的文字的size?

在Cocos creator编辑器里,label overflow设置为RESIZE_HEIGHT,如果直接给label设置String,它的HEIGHT会自动变化,但是如果用脚本设置String,取label.node.getContentSize()发现Height并没有变化。请问想获取新设置的string的size,应该怎么做?

谢谢

同问,占楼关注

求官方达人给一个解决方案,谢谢

顶一下求解决

我这边测试是可以的呀, @noside911 能否提供一个测试项目

@zilong 你好,你可以看下这个测试项目(简单修改了Hello world的示例)。脚本挂在Canvas上,无论Text设置为什么字符串,label的size固定是146.8, 60。

当然,这个label的Overflow是NONE,不过即使设置为Resize height,也是一样的。

如果可以,@zilong 能不能传一个你测试成功的项目,我看看是不是我哪里写的不对,谢谢。

LabelTest.zip (209.0 KB)

我知道了,要用start。抱歉,麻烦了

没关系,这个是已知 bug,后面版本会修复的。

楼主能否告知怎么用start解决的?另外,设置Resize Height是否可以解决?

请问什么时候可以修复呢?

1.1 版本应该已经修复了呀

1.9.0 版本还是一样的

你好,我现在用的1.8.2版本,给一个文本设置了内容后,发现这个文本的长度还是在组件中初始设置的长度。只有第二次打开的时候,才会改变,这个不实时,有什么办法解决吗?

1赞

@zilong 这个问题2.0还有啊 我打印node它里面width是正确的 但是我打印node.width 值就不对了

在2.0.5版本又出现了这个问题。通过getContentSize()获取到的Size,在取出width和height时不正确,但是在console输出打印的值又不一样

2.0.5 同样碰到了。 label.string 设置后,node.width 依旧是初始值。

2.01 也是,所以这个问题一直没有解决方案是么?

@1014891705 @1021172013 你们多搜搜论坛行么···
这种问题,我都回答过好几遍了····

麻烦给个链接可以么…搜了下 但应该是关键词对不上 没有找到有用的信息。拜托了。

label.getComponent(cc.Label)._updateRenderData(true);