在浏览器中运行就是不行的,一下是项目事例
labelTest.zip (474.4 KB),
试试延迟一点时间去获取宽度呢,可能实际改动是在下一帧生效的
1赞
试试调一下label._updateRenderData(true)
延迟一帧是可以的 ,但是感觉比较反人类
this.scheduleOnce(()=>{
console.log(‘labelWidth =’,this.label.node.getContentSize().width);
},0)
这样试了一下是可以的
假设需要根据label的size做一些位置上的变化,延迟一帧的写法就会导致出现闪现的问题的。
我设置延时2s还是不变,是不是不是下一帧 才改变,而是渲染的时候才修改的。这个大家都怎么处理的
监听下cc.Node.EventType.SIZE_CHANGED
我就是2.0.8,改完lab的大小后。。手动_updateRenderData一下当前的lab就可以了啊