【BUG修复】解决3.3.2富文本插入图片后,文字位置与图片不对应的BUG

private adjustRichTextLabelAnchorPoint(): void {
        Object.defineProperty(RichText.prototype, "_updateRichTextStatus", {
            get() {
                return this._$$updateRichTextStatus;
            },
            set(val) {
                this._$$updateRichTextStatus = () => {
                    this.___$$isImage = this._string.indexOf("<img src=") != -1;
                    this._updateRichText();
                };
            }
        });
        // @ts-ignore
        RichText.prototype._addLabelSegment = function (stringToken, styleIndex) {
            let labelSegment;
            // @ts-ignore
            if (this._labelSegmentsCache.length === 0) {
                // @ts-ignore
                labelSegment = this._createFontLabel(stringToken);
            } else {
                // @ts-ignore
                labelSegment = this._labelSegmentsCache.pop()!;
                const label = labelSegment.node.getComponent(Label);
                if (label) {
                    label.string = stringToken;
                }
            }

            labelSegment.styleIndex = styleIndex;
            // @ts-ignore
            labelSegment.lineCount = this._lineCount;
            // FIXME:只有带图的才需要修改
            if (this.___$$isImage) {
                // FIXME:此处为调整代码 原本为:labelSegment.node._uiProps.uiTransformComp!.setAnchorPoint(0, 0);
                labelSegment.node._uiProps.uiTransformComp!.setAnchorPoint(0, 0.25);
            } else {
                labelSegment.node._uiProps.uiTransformComp!.setAnchorPoint(0, 0);
            }
            labelSegment.node.layer = this.node.layer;
            // @ts-ignore
            this._applyTextAttribute(labelSegment);
            this.node.addChild(labelSegment.node);
            // @ts-ignore
            this._segments.push(labelSegment);

            return labelSegment;
        }
    }
1赞