我正在构建一个 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。
有谁知道这种行为的原因是什么?