ios系统(苹果手机)微信小程序canvas.draw不执行回调
draw不执行回调函数,draw的回调函数不执行
·
当canvas绘制图片完成之后,来执行draw的时候,
1.安卓手机不受影响,可以正常执行draw的回调函数
2.苹果手机在ios高版本系统上,则可能出现draw的回调函数不执行了。
比如以下代码:
let context = uni.createCanvasContext('myCanvasId',this);
// 项目业务逻辑...
// 项目业务逻辑...
// 项目业务逻辑...
context.draw(false,()=>{});
之所以会出现这样的原因是:ios高版本系统 对于 canvas的元素要求是: canvas元素必须存在,如果在业务逻辑中出现过不存在,则可能会导致draw的回调不执行。
比如下面的例子:
1. 问题原因:设置了 if 或者 hidden 导致
<!-- 在苹果手机上可能会不执行draw的回调 -->
<canvas
canvas-id="myCanvasId"
:style="{ width: canvasWidth + 'px', height: canvasHeight + 'px' }"
v-if="canvasShow"
></canvas>
2. 解决方案:去掉 if 或者 hidden
<canvas
canvas-id="myCanvasId"
:style="{ width: canvasWidth + 'px', height: canvasHeight + 'px' }"
v-show="canvasShow"
></canvas>
更多推荐
已为社区贡献2条内容
所有评论(0)