2

我成功地在我的视图中创建了 PKCanvasView 并让它在那里绘制。但是如何仅出于查看模式等某些目的禁用 PKCanvasView 中的绘图。

是否可以在 PKCanvasView 中禁用铅笔和手指绘图?

我可以通过设置变量allowFingerDrawing false 来禁用手指绘图,但我也想禁用铅笔。

4

3 回答 3

2

适用于 iOS 13 和 iOS 14

为了回答您的问题,iOS 14 的 drawingPolicy 没有提供“noInput”选项。但一个简单的替代方法是设置isUserInteractionEnabled

例如,声明为 canvasView 的 PKCanvasView 可以使用 isUserInteractionEnabled 设置以限制所有输入:

canvasView.isUserInteractionEnabled = false

当用户处于仅铅笔模式时,这也将限制手指的长按插入空白、剪切、复制、删除和复制。

设置isUserInteractionEnabled也会限制画布上的两指滚动。

于 2020-06-25T19:00:15.127 回答
1

解决方案——canvasView.isUserInteractionEnabled = false也将禁用canvaseView的滚动功能。

更好的解决方案可以简单地禁用绘图手势

self.canvasView.drawingGestureRecognizer.isEnabled = false

这将关闭笔和手指绘图,但保持滚动视图功能可用。

于 2021-01-17T22:28:21.270 回答
0

如果您在 PKCanvasView 上访问 PKDrawing,您可以调用“imageFromRect” - 这将返回一个 UIImage,您可以将其放置在屏幕上进行查看,而无需对其进行编辑。

于 2019-11-13T23:14:54.727 回答