iOS PencilKit 不绘图
iOS PencilKit not drawing
我正在尝试使用 PencilKit,但我无法在应用程序中绘制任何东西。
我将我的代码设置如下。
import UIKit
import PencilKit
class DrawingViewController: UIViewController {
var canvasView: PKCanvasView!
override func viewDidLoad() {
super.viewDidLoad()
let canvasView = PKCanvasView(frame: view.bounds)
canvasView.allowsFingerDrawing = false
view.addSubview(canvasView)
canvasView.translatesAutoresizingMaskIntoConstraints = false
canvasView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
canvasView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
canvasView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
canvasView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
canvasView.backgroundColor = UIColor.lightGray
canvasView.tool = PKInkingTool(.pen, color: .black, width: 10)
}
}
我期待在 canvasView 中绘图/墨迹书写,但是当我尝试该应用程序时没有任何响应。我的设备是13.2的运行所以目标没有问题。我还下载了 Apple's app from WWDC 2019 会话,但它在模拟器中不起作用。
为澄清起见,我还在真实设备中对其进行了测试,但在使用 PencilKit 的任何应用程序中均未响应。
如果使用手指或鼠标而不是 Apple pencil 作为输入,canvasView.allowsFingerDrawing = false
可能是问题所在。如果尝试这种组合,Apple pencil 目前不适用于 iPhone。否则代码看起来不错。
这些是使用 PencilKit 绘图的 iOS 设置
iOS 14
使用 drawingPolicy 设置启用按输入类型绘图
仅限 Apple pencil:
canvasView.drawingPolicy = .pencilOnly
手指、鼠标光标(iOS 模拟器)和 Apple pencil:
canvasView.drawingPolicy = .anyInput
允许用户使用 Pencil Kit 的工具选择器开关设置所需的输入:
canvasView.drawingPolicy = .default
在“设置”应用中,有一个名为“仅使用 Apple Pencil 绘图”的全局设置。这可以从 PencilKit 中的 UIPencilInteraction.prefersPencilOnlyDrawing
中读取。
iOS 13(在 iOS14 中弃用)
仅使用 Apple pencil 绘图:
canvasView.allowsFingerDrawing = false
要使用所有输入类型绘图:
canvasView.allowsFingerDrawing = true
我正在尝试使用 PencilKit,但我无法在应用程序中绘制任何东西。 我将我的代码设置如下。
import UIKit
import PencilKit
class DrawingViewController: UIViewController {
var canvasView: PKCanvasView!
override func viewDidLoad() {
super.viewDidLoad()
let canvasView = PKCanvasView(frame: view.bounds)
canvasView.allowsFingerDrawing = false
view.addSubview(canvasView)
canvasView.translatesAutoresizingMaskIntoConstraints = false
canvasView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
canvasView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
canvasView.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
canvasView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
canvasView.backgroundColor = UIColor.lightGray
canvasView.tool = PKInkingTool(.pen, color: .black, width: 10)
}
}
我期待在 canvasView 中绘图/墨迹书写,但是当我尝试该应用程序时没有任何响应。我的设备是13.2的运行所以目标没有问题。我还下载了 Apple's app from WWDC 2019 会话,但它在模拟器中不起作用。 为澄清起见,我还在真实设备中对其进行了测试,但在使用 PencilKit 的任何应用程序中均未响应。
如果使用手指或鼠标而不是 Apple pencil 作为输入,canvasView.allowsFingerDrawing = false
可能是问题所在。如果尝试这种组合,Apple pencil 目前不适用于 iPhone。否则代码看起来不错。
这些是使用 PencilKit 绘图的 iOS 设置
iOS 14
使用 drawingPolicy 设置启用按输入类型绘图
仅限 Apple pencil:
canvasView.drawingPolicy = .pencilOnly
手指、鼠标光标(iOS 模拟器)和 Apple pencil:
canvasView.drawingPolicy = .anyInput
允许用户使用 Pencil Kit 的工具选择器开关设置所需的输入:
canvasView.drawingPolicy = .default
在“设置”应用中,有一个名为“仅使用 Apple Pencil 绘图”的全局设置。这可以从 PencilKit 中的 UIPencilInteraction.prefersPencilOnlyDrawing
中读取。
iOS 13(在 iOS14 中弃用)
仅使用 Apple pencil 绘图:
canvasView.allowsFingerDrawing = false
要使用所有输入类型绘图:
canvasView.allowsFingerDrawing = true