ios13 - 为 PencilKit (iOS) 将橡皮擦类型设置为位图
问题描述
在 iOS 上使用 PencilKit,如何将橡皮擦工具设置为 .bitmap 用于 PKToolPicker?
我找不到 PKToolPicker 的任何设置。尝试使用 PKCanvasView 观察并将工具的擦除器类型设置为 .bitmap 也不起作用。
override func toolPickerSelectedToolDidChange(_ toolPicker: PKToolPicker) {
var tool = toolPicker.selectedTool as? PKEraserTool
if tool != nil {
tool?.eraserType = .bitmap
}
}
解决方案
ThePKEraser
是一个结构,因此当您更改它时eraserType
,您实际上是在修改画布中正在使用的工具的副本。
您需要做的只是设置PKCanvasView
tool
属性,它会工作。
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
}
让我知道它是否有效!
推荐阅读
- java - 在 selenium 中使用 ashot 的可滚动屏幕截图不适用于 Internet Explorer 11 版本,但在 chrome 和 firefox 中运行良好
- css - 内联 CSS NodeJS 服务器
- weka - 删除带有值的weka数据集中的原始数据
- c# - 无法保存使用 ASP.NET C# Web 窗体接收的 Webhook 数据
- c# - 代替左连接的 Lambda 表达式
- javascript - 如何从 jquery 的序列化字符串中删除空格?
- java - 如果我使用 Java 8,是否会支持旧的 Android 设备?
- wordpress - 想要限制从管理员 wordpress 创建的类别帖子
- git - 当我执行“git pull origin”时,它会授予权限被拒绝。我该如何解决这个问题?
- javascript - 如何使 xPages 名称选择器显示公司目录或扩展目录目录名称?