ios - PencilKit 清除画布并不总是有效
问题描述
我正在构建一个 PencilKit 应用程序来解释 canvasView.drawing 的大小。低于一定尺寸的图纸被解释为轻敲手势,并在解释过程中被清除。
实际上,我这样做是这样的:
func canvasViewDrawingDidChange(_ canvasView: PKCanvasView) {
// Check if drawing is empty,
// otherwise this would loop
guard !canvasView.drawing.bounds.isEmpty
else {
return
}
if canvasView.drawing.bounds.width < 10 &&
canvasView.drawing.bounds.height < 10
{
canvasView.drawing = PKDrawing()
handleDetectedTapGesture()
}
}
在我的 2020 iPad Pro 上,这可以完美运行。然而,在其他 iPad 上,我观察到一个奇怪的行为:
在画布上绘制的一系列小斑点中,这些小斑点都应该立即被清除,有时画布似乎没有被清除,一个斑点仍然可见。在我在其他地方绘制下一个斑点之后,清除再次起作用,这意味着画布在内部被清空,可见状态不是最新的。
画布上的手指输入被禁用。画布工具设置为铅笔,宽度 5.0。
有谁知道这种行为的原因是什么?
解决方案
推荐阅读
- java - Webclient 200 状态代码在 responseBody 中失败
- excel - 尝试选择范围内的第一个空单元格
- java - 如何点击href标签?
- android - 在 Android 的两个 Fragment 之间传递数据有哪些不同的方法?
- c++ - 需要关于迭代猜谜游戏的帮助
- node.js - capistrano,远程 shell / nodejs / yarn 不起作用
- html - 离子内容与选项卡菜单重叠
- python - 使用 beautifulsoup 在 Python 中遍历页面
- c++ - g++ ld:使用 -g 标志时未找到架构 x86_64 的符号
- python - 尝试使用不具有相同列名的另一个单独数据帧中的一个数据帧中的 id 来获取数据