我正在尝试 Apple 的 PencilKit。显示
PKToolPicker
效果很好,我可以在画布上绘制。但是,我想知道是否以及如果是的话,如何清除撤消缓冲区。
背景:我允许用户翻阅他的绘图,但即使我将新绘图分配给
PKCanvasView
,撤消按钮在 iPad 上仍然可用。我想在显示之前的绘图之一之前清除撤消缓冲区。
我尝试通过调用
来清除父视图控制器的撤消缓冲区和
PKCanvasView
的撤消缓冲区
self.undoManager?.removeAllActions()
self.canvasView.undoManager?.removeAllActions()
无济于事。
我也可以选择从 iPad 上的
PKToolPicker
隐藏撤消/重做按钮。这可能吗?
undoManager?.removeAllActions()
确实有效。关键是要等待 viewDidAppear
,因为 undoManager 在此之前为零。
此外,画布的 undoManager 和视图控制器的 undoManager 默认都指向同一个实例。