我正在尝试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,所以目标没有问题。我还下载了来自WWDC 2019的苹果应用程序会话,但它在模拟器中不起作用。为了澄清,我还在实际设备中测试过它,但没有在任何应用程序中使用PencilKit进行响应。
发布于 2020-06-25 02:59:19
如果用手指或鼠标作为输入,而不是用苹果铅笔,那么canvasView.allowsFingerDrawing = false可能就是问题所在。如果尝试这种组合,苹果铅笔目前不适用于iPhones。否则,代码看起来很好。
这些是用iOS绘图的PencilKit设置
iOS 14
使用drawingPolicy设置按输入类型启用绘图
仅限苹果铅笔:
canvasView.drawingPolicy = .pencilOnly手指,鼠标光标(iOS模拟器)和苹果铅笔:
canvasView.drawingPolicy = .anyInput允许用户使用铅笔工具包的工具选择器切换设置所需的输入:
canvasView.drawingPolicy = .default在Settings应用程序中,有一个名为“只有用苹果铅笔绘制”的全局设置。这可以从UIPencilInteraction.prefersPencilOnlyDrawing中的PencilKit中读取。
iOS 13 (在iOS14中弃用)
仅用苹果铅笔作画:
canvasView.allowsFingerDrawing = false要使用所有输入类型进行绘图:
canvasView.allowsFingerDrawing = truehttps://stackoverflow.com/questions/59781914
复制相似问题