当canvas绘制图片完成之后,来执行draw的时候,
1.安卓手机不受影响,可以正常执行draw的回调函数
2.苹果手机在ios高版本系统上,则可能出现draw的回调函数不执行了。
比如以下代码:
let context = uni.createCanvasContext('myCanvasId',this);
// 项目业务逻辑...
// 项目业务逻辑...
// 项目业务逻辑...
context.draw(false,()=>{});
之所以会出现这样的原因是:ios高版本系统 对于 canvas的元素要求是: canvas元素必须存在,如果在业务逻辑中出现过不存在,则可能会导致draw的回调不执行。
比如下面的例子:
1. 问题原因:设置了 if 或者 hidden 导致文章来源:https://www.toymoban.com/news/detail-768317.html
<!-- 在苹果手机上可能会不执行draw的回调 -->
<canvas
canvas-id="myCanvasId"
:style="{ width: canvasWidth + 'px', height: canvasHeight + 'px' }"
v-if="canvasShow"
></canvas>
2. 解决方案:去掉 if 或者 hidden文章来源地址https://www.toymoban.com/news/detail-768317.html
<canvas
canvas-id="myCanvasId"
:style="{ width: canvasWidth + 'px', height: canvasHeight + 'px' }"
v-show="canvasShow"
></canvas>
到了这里,关于ios系统(苹果手机)微信小程序canvas.draw不执行回调的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!