将橡皮擦类型设置为铅笔套件 (iOS) 的位图



使用 iOS 版 PencilKit,如何将橡皮擦工具设置为 PKToolPicker 的 .bitmap?

我找不到 PKToolPicker 的任何设置。尝试使用PKCanvasView来观察并将工具的橡皮擦类型设置为.bitmap也不起作用。

override func toolPickerSelectedToolDidChange(_ toolPicker: PKToolPicker) {
var tool = toolPicker.selectedTool as? PKEraserTool
if tool != nil {
tool?.eraserType = .bitmap
}
}

PKEraser是一个结构体,因此当您更改其eraserType时,您实际上是在修改画布中使用的工具的副本。

您需要做的是简单地设置PKCanvasViewtool属性,它就会起作用。

override func toolPickerSelectedToolDidChange(_ toolPicker: PKToolPicker) {
var tool = toolPicker.selectedTool as? PKEraserTool
if tool != nil {
tool?.eraserType = .bitmap
}
// this line below will do the trick
canvasView.tool = tool
}

让我知道它是否有效! 😊

適用於 iOS 13 和 iOS 14

要将工具选取器的选定工具设置为位图橡皮擦(其中 toolPicker 是 PKToolPicker(,请执行以下操作:

toolPicker?.selectedTool = PKEraserTool(.bitmap)

要将画布视图的工具设置为位图橡皮擦(其中画布视图是 PKCanvasView(,请执行以下操作:

canvasView.tool = PKEraserTool(.bitmap)

根据您的示例,此代码会将工具选取器的擦除工具保留为位图(像素橡皮擦(,即使选择了矢量(对象橡皮擦(。(在 iOS 14 上测试(

func toolPickerSelectedToolDidChange(_ toolPicker: PKToolPicker) {
if toolPicker.selectedTool is PKEraserTool {
toolPicker.selectedTool = PKEraserTool(.bitmap)
}
}

相关内容

  • 没有找到相关文章

最新更新