eli*_*lia 2 ios swift pencilkit
我正在尝试使用 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)
}
}
Run Code Online (Sandbox Code Playgroud)
我期望在 canvasView 中绘制/墨迹,但当我尝试该应用程序时没有响应。我的设备运行的是 13.2,所以目标没有问题。我还从 WWDC 2019会议下载了 Apple 的应用程序,但它无法在模拟器中运行。为了澄清起见,我还在真实设备中测试了它,但在任何使用PencilKit的应用程序中都没有响应。
canvasView.allowsFingerDrawing = false如果使用手指或鼠标而不是 Apple Pencil 作为输入,则可能会出现问题。如果尝试这种组合,Apple Pencil 目前无法与 iPhone 配合使用。否则代码看起来不错。
这些是使用 PencilKit 绘图的 iOS 设置
iOS 14
使用 DrawingPolicy 设置启用按输入类型绘制
仅苹果铅笔:
canvasView.drawingPolicy = .pencilOnly
Run Code Online (Sandbox Code Playgroud)
手指、鼠标光标(iOS 模拟器)和 Apple Pencil:
canvasView.drawingPolicy = .anyInput
Run Code Online (Sandbox Code Playgroud)
允许用户使用 Pencil Kit 的工具选择器切换设置所需的输入:
canvasView.drawingPolicy = .default
Run Code Online (Sandbox Code Playgroud)
在“设置”应用程序中,有一个名为“仅使用 Apple Pencil 绘图”的全局设置。这可以从 PencilKit 中读取UIPencilInteraction.prefersPencilOnlyDrawing。
iOS 13(iOS14 中已弃用)
仅使用 Apple Pencil 绘图:
canvasView.allowsFingerDrawing = false
Run Code Online (Sandbox Code Playgroud)
使用所有输入类型进行绘制:
canvasView.allowsFingerDrawing = true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2780 次 |
| 最近记录: |