Label设置overflow的bug

Creator 版本号:1.4.1
运行时目标平台:web

Label设置overflow时如果没有先被addChild,显示上会有问题。测试代码如下


    addLabelPreAddChild: function () {
        let labelNode = new cc.Node()
        labelNode.position = cc.p(300, 0)

        let label = labelNode.addComponent(cc.Label)
        label.string = "测试文字得长点"
        
        //这个先添加节点再设置overflow
        this.node.addChild(labelNode)
        // label.overflow = cc.Label.Overflow.RESIZE_HEIGHT
        label.overflow = cc.Label.Overflow.SHRINK
        // label.overflow = cc.Label.Overflow.CLAMP
        labelNode.width = 100
    },
    addLabelDelayAddChild: function () {
        let labelNode = new cc.Node()
        labelNode.position = cc.p(-300, 0)

        let label = labelNode.addComponent(cc.Label)
        label.string = "测试文字得长点"

        //这个先设置overflow再添加节点
        // label.overflow = cc.Label.Overflow.RESIZE_HEIGHT
        label.overflow = cc.Label.Overflow.SHRINK
        // label.overflow = cc.Label.Overflow.CLAMP
        labelNode.width = 100

        this.node.addChild(labelNode)
    },

运行效果如图:

测试CLAMP和SHRINK有明显问题,RESIZE_HEIGHT没问题

测试项目:LabelTest.zip (2.9 KB)