清除 PKCanvasView 的撤消缓冲区

问题描述 投票:0回答:1

我正在尝试 Apple 的 PencilKit。显示

PKToolPicker
效果很好,我可以在画布上绘制。但是,我想知道是否以及如果是的话,如何清除撤消缓冲区。

背景:我允许用户翻阅他的绘图,但即使我将新绘图分配给

PKCanvasView
,撤消按钮在 iPad 上仍然可用。我想在显示之前的绘图之一之前清除撤消缓冲区。

我尝试通过调用

 来清除父视图控制器的撤消缓冲区和 
PKCanvasView

的撤消缓冲区
self.undoManager?.removeAllActions()
self.canvasView.undoManager?.removeAllActions()

无济于事。

我也可以选择从 iPad 上的

PKToolPicker
隐藏撤消/重做按钮。这可能吗?

ios swift pencilkit
1个回答
0
投票

undoManager?.removeAllActions()
确实有效。关键是要等待
viewDidAppear
,因为 undoManager 在此之前为零。

此外,画布的 undoManager 和视图控制器的 undoManager 默认都指向同一个实例。

© www.soinside.com 2019 - 2024. All rights reserved.