From e0f65f76d623ff7e2c3d6eed36715f403d8836ea Mon Sep 17 00:00:00 2001 From: dongqing Date: Fri, 27 Dec 2019 17:18:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=96=87=E5=AD=97=E6=94=BE=E5=A4=A7?= =?UTF-8?q?=E7=BC=A9=E5=B0=8Fbug=EF=BC=8CP20=20=E6=96=87=E5=AD=97=E7=82=B9?= =?UTF-8?q?=E5=87=BB=E6=B6=88=E5=A4=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/pen.js | 5 ++++- painter.js | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/pen.js b/lib/pen.js index 6a663b7..aa290fa 100644 --- a/lib/pen.js +++ b/lib/pen.js @@ -222,8 +222,11 @@ export default class Painter { const linesArray = []; for (let i = 0; i < textArray.length; ++i) { const textLength = this.ctx.measureText(textArray[i]).width; + const minWidth = view.css.fontSize.toPx() + paddings[1] + paddings[3]; let partWidth = view.css.width ? view.css.width.toPx(false, this.style.width) - paddings[1] - paddings[3] : textLength; - // partWidth = partWidth > fontSize ? partWidth - partWidth % fontSize + fontSize : fontSize + if (partWidth < minWidth) { + partWidth = minWidth; + } const calLines = Math.ceil(textLength / partWidth); // 取最长的作为 width width = partWidth > width ? partWidth : width; diff --git a/painter.js b/painter.js index c38a1df..4ea8917 100644 --- a/painter.js +++ b/painter.js @@ -314,7 +314,8 @@ Component({ }, true, this.movingCache); } else { // 某些机型(华为 P20)非移动场景下,只绘制一遍会偶然性图片绘制失败,目前采用再绘一遍的方法 - if (!isMoving && doView.type === 'image') { + // 文字也会出现 + if (!isMoving && (doView.type === 'image' || doView.type === 'text')) { pen.paint() } pen.paint((callbackInfo) => {