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赞