首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS PencilKit非绘图

iOS PencilKit非绘图
EN

Stack Overflow用户
提问于 2020-01-17 05:53:53
回答 1查看 2K关注 0票数 2

我正在尝试PencilKit,但我不能在应用程序中画任何东西。我将代码设置如下。

代码语言:javascript
复制
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进行响应。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-25 02:59:19

如果用手指或鼠标作为输入,而不是用苹果铅笔,那么canvasView.allowsFingerDrawing = false可能就是问题所在。如果尝试这种组合,苹果铅笔目前不适用于iPhones。否则,代码看起来很好。

这些是用iOS绘图的PencilKit设置

iOS 14

使用drawingPolicy设置按输入类型启用绘图

仅限苹果铅笔:

代码语言:javascript
复制
canvasView.drawingPolicy = .pencilOnly

手指,鼠标光标(iOS模拟器)和苹果铅笔:

代码语言:javascript
复制
canvasView.drawingPolicy = .anyInput

允许用户使用铅笔工具包的工具选择器切换设置所需的输入:

代码语言:javascript
复制
canvasView.drawingPolicy = .default

在Settings应用程序中,有一个名为“只有用苹果铅笔绘制”的全局设置。这可以从UIPencilInteraction.prefersPencilOnlyDrawing中的PencilKit中读取。

iOS 13 (在iOS14中弃用)

仅用苹果铅笔作画:

代码语言:javascript
复制
canvasView.allowsFingerDrawing = false

要使用所有输入类型进行绘图:

代码语言:javascript
复制
canvasView.allowsFingerDrawing = true
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59781914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档