Ios13 将铅笔盒(iOS)的橡皮擦类型设置为位图
使用PencilKit for iOS,如何为PKToolPicker将橡皮擦工具设置为.bitmap 我找不到PKToolPicker的任何设置。尝试使用PKCanvasView观察并将工具的橡皮擦类型设置为。位图也不起作用Ios13 将铅笔盒(iOS)的橡皮擦类型设置为位图,ios13,ipados,pencilkit,apple-pencil,Ios13,Ipados,Pencilkit,Apple Pencil,使用PencilKit for iOS,如何为PKToolPicker将橡皮擦工具设置为.bitmap 我找不到PKToolPicker的任何设置。尝试使用PKCanvasView观察并将工具的橡皮擦类型设置为。位图也不起作用 override func toolPickerSelectedToolDidChange(_ toolPicker: PKToolPicker) { var tool = toolPicker.selectedTool as? PKEraserTool
override func toolPickerSelectedToolDidChange(_ toolPicker: PKToolPicker) {
var tool = toolPicker.selectedTool as? PKEraserTool
if tool != nil {
tool?.eraserType = .bitmap
}
}
PKEraser
是一个结构,因此当您更改其eraserType
时,实际上是在修改画布中使用的工具的副本
只需设置PKCanvasView
工具
属性,它就可以工作了
重写func toolPickerSelectedToolDidChange(toolPicker:PKToolPicker){
var tool=toolPicker.selectedTool as?PK橡皮擦工具
如果工具!=零{
工具?.橡皮擦类型=.bitmap
}
//下面这行就可以了
canvasView.tool=工具
}
让我知道它是否有效 适用于iOS 13和iOS 14 要将toolpicker的选定工具设置为位图擦除器(其中toolpicker是PKToolPicker),请执行以下操作: 要将画布视图的工具设置为位图擦除器(其中canvasView是PKCanvasView),请执行以下操作: 基于您的示例,此代码将保持toolpicker的擦除工具为位图(像素擦除器),即使选择了矢量(对象擦除器)。(在iOS 14上测试)
嗨,谢谢你的回复。I get:类型为“PK橡皮擦工具”的值与该附加语句的赋值中的“PKTool”不一致。
toolPicker?.selectedTool = PKEraserTool(.bitmap)
canvasView.tool = PKEraserTool(.bitmap)
func toolPickerSelectedToolDidChange(_ toolPicker: PKToolPicker) {
if toolPicker.selectedTool is PKEraserTool {
toolPicker.selectedTool = PKEraserTool(.bitmap)
}
}