首页 > 解决方案 > 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。

有谁知道这种行为的原因是什么?

标签: iosswiftpencilkit

解决方案


推荐阅读