iOS PencilKit 无法绘图

2023-12-11

我正在尝试使用 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 上的 Apple 应用会话,但它在模拟器中不起作用。 为了澄清起见,我还在真实设备中测试了它,但在任何应用程序中都没有响应铅笔套件.


The canvasView.allowsFingerDrawing = false如果使用手指或鼠标而不是 Apple Pencil 作为输入,则可能会出现问题。如果尝试这种组合,Apple Pencil 目前无法与 iPhone 配合使用。否则代码看起来不错。


这些是使用 PencilKit 绘图的 iOS 设置

iOS 14

使用 DrawingPolicy 设置启用按输入类型绘制

仅苹果铅笔:

canvasView.drawingPolicy = .pencilOnly

手指、鼠标光标(iOS 模拟器)和 Apple Pencil:

canvasView.drawingPolicy = .anyInput

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

canvasView.drawingPolicy = .default

在“设置”应用程序中,有一个名为“仅使用 Apple Pencil 绘图”的全局设置。这可以从UIPencilInteraction.prefersPencilOnlyDrawing在 PencilKit 中。


iOS 13(iOS14 中已弃用)

仅使用 Apple Pencil 绘图:

canvasView.allowsFingerDrawing = false

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

canvasView.allowsFingerDrawing = true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS PencilKit 无法绘图 的相关文章

  • 当聚焦非 UILabel titleView 时,VoiceOver 会读取辅助功能标签两次

    我在使用 VoiceOver 时遇到了一个奇怪的问题 Goals Set a UIStackView含有多个UILabel就如我的navigationItem titleView 将堆栈视图标记为辅助功能元素并设置其accessibilit
  • Python for ios解释器[重复]

    这个问题在这里已经有答案了 可能的重复 iOS 上的 Python 或 Ruby 解释器 https stackoverflow com questions 4772591 python or ruby interpreter on ios
  • 为什么我的自定义类没有出现在 Interface Builder 的下拉列表中?

    我正在使用 Interface Builder 和 Storyboards 来构建我的应用程序 我正在尝试将我的源代码连接到我的UIViewController在 Storyboard 中 但我的类都没有显示在 自定义类 下拉菜单中 这种情
  • Xcode 9 - 框架断点

    在 Xcode 7 和 8 中 我已经能够通过在也包含框架项目的 xcworkspace 中运行包含应用程序来调试我一直在开发的框架 如果我在框架中设置断点 它们就会在运行时被触发 在 Xcode 9 beta 6 中 情况不再如此 到目前
  • SwiftUI:为表单中的单元格添加动画

    我正在尝试动画化我的Form或者更确切地说是其中的细胞 我的问题是 下面的代码给了我一个很好的插入动画 但是对于删除 单元格在看起来很丑陋的延迟后突然被删除 import SwiftUI struct ContentView View St
  • 如何将 WKUIDelegate 实现到 SwiftUI WKWebView 中?

    我正在 Xcode v11 上创建一个 Web 应用程序 但在实现 WKUIDelegate 来显示 Javascript 警报并在 Web 应用程序上正确确认时遇到问题 我在 ContentView swift 上得到了一个非常简单的 w
  • 在覆盖 UIView 的右下角创建四分之一透明孔

    您好 我想在覆盖 UIView 的右下角创建一个四分之一透明孔 我可以使用下面的代码解决它 但它看起来不正确 因为我在视图之外创建了一个矩形 我尝试过的 implementation PartialTransparentView id in
  • 依赖于 pod 的 Swift 通用框架

    我正在开发一个依赖于 Alamofire 的小型 Swift 框架 我将它用作属于同一工作区的应用程序的嵌入式框架 并且它运行良好 当我想构建一个具有总体目标的通用框架时 问题就出现了 然后 当执行脚本生成框架时 它失败并显示消息No su
  • 在 WidgetKit 中每分钟更新时间文本标签

    是否可以在小部件中创建显示当前时间并实时更新的文本标签 尝试创建时钟小部件 但小部件每 5 分钟仅更新 1 次 创建时间表没有帮助 使小部件保持最新 不适用于当前时间 仅适用于计时器等 一个可能的解决方案是使用time日期样式 A styl
  • 使用 RestKit 对象映射空响应

    感谢在这里帮忙 https stackoverflow com questions 9743155 restkit mapping with an array of complex objects在 RestKit 邮件列表上 我已经能够解
  • 快速检查网络速度

    我想从我的 swift 应用程序检查网络速度 我发现很多帖子描述了Reachability特别是查找连接是否可达以及是 WIFI 连接还是 WWAN 连接的方法 我的问题 是否可以检测 WWAN 的类型 2G 3G 4G 你可以用以下命令检
  • 将 UIPanGestureRecognizer 添加到 UIScrollView 时禁用滚动

    我有一个滚动视图 我想让它在平移完成时消失 它工作正常 平移时滚动视图消失 但问题是现在我无法滚动内容 UIView animateWithDuration 0 2 delay 0 2 options UIViewAnimationCurv
  • 有没有办法在iOS模拟器上使用苹果的Touch ID(指纹扫描仪)?

    我正在开发一个需要 Touch ID 身份验证的应用程序 那么有什么方法可以在模拟器中使用 Touch ID 指纹扫描仪 另外 请分享一些使用 LocalAuthentication 框架的示例代码 XCODE 7 beta支持在iPhon
  • 如何跟踪 SwiftUI 应用程序中的所有触摸

    我正在尝试在 SwiftUI 应用程序中实现锁屏 我需要跟踪每个事件才能重新启动锁定计时器 在 UIKit 应用程序中 我使用了这种方法 重写 UIApplication 它允许了解应用程序中的任何事件 override func send
  • 如何在 SwiftUI 中将变量从一个视图传递到另一个视图

    我正在尝试将一个变量从一个视图传递到 SwiftUI 中的另一个视图 我有一个重置按钮 我想在另一个视图中将变量设置为零 我尝试在视图一中创建一个新结构并在视图2中访问该变量 View 1 State var count MyNumber
  • 使用 Swift 在 Sprite Kit 中构建棋盘游戏? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在使用 Swift 的 Sprite Kit 中 我试图构建一个国际象棋棋盘 实际上是一个类似国际象棋的棋盘 平铺网格 那么一般来说
  • SwiftUI:如何让项目的拖放重新排序起作用?

    我有以下 SwiftUI 视图 struct ContentView View State var model Model var body some View ScrollView LazyVGrid columns columns sp
  • iOS-将图像转为视频时,CVPixelBufferCreate内存无法正确释放

    我正在将图像制作成视频 但总是因为内存警告而崩溃 分配太多CVPixelBufferCreate 我不知道如何正确处理 我看过很多类似的主题 但没有一个能解决我的问题 这是我的代码 void writeImagesArray NSArray
  • 将 .p12 证书存储在钥匙串中以供稍后使用

    我正在尝试按照 Apple 文档处理此处的客户端 p12 证书 https developer apple com library ios documentation Security Conceptual CertKeyTrustProg
  • 有没有办法从 Instruments (Xcode) 的命令行实例中删除授权提示?

    我目前正在通过 bash 脚本使用 Instruments 来启动命令行界面以启动自动化插件的运行 在 4 2 中 这工作得很好 但是随着升级到 Xcode 4 3 我现在被提示需要授权用户 分析其他进程 即使授予了正确的凭据 也不会真正对

随机推荐

  • Oracle聚合函数返回一组随机值?

    标准 SQL 聚合函数max 将返回一组中的最高值 min 将返回最低的 Oracle中是否有聚合函数可以从组中返回随机值 或者某种技术来实现这一目标 例如 给定表foo group id value 1 1 1 5 1 9 2 2 2 4
  • 返回 n 中 k 个元素的所有组合的算法

    我想编写一个函数 它接受一个字母数组作为参数 并选择其中的一些字母 假设您提供一个包含 8 个字母的数组 并希望从中选择 3 个字母 那么你应该得到 8 8 3 3 56 返回数组 或单词 每个数组由 3 个字母组成 计算机编程艺术第 4
  • VirtualWebappLoader 或类似的WebLogic 将目录添加到war 的类路径中?

    如何在部署到 WebLogic 的 war 的类路径上提供外部目录 将在其中部署其他 jar 我熟悉如何通过定义一个在 Tomcat 上执行此操作Loadercontext xml 中的元素并包括virtualClasspath指定的属性A
  • 底层连接已被 linkedin 关闭

    我们有一个使用 Net Framework 4 6 1 运行的应用程序 可以访问 Linkedin 调用端点 https www linkedin com oauth v2 accessToken 它一直工作到 2020 年 7 月 14
  • C结构数组初始化

    我有结构 struct ABC int a int b 和它的数组 struct ABC xyz 100 我想初始化它 a 10 和 b 20 对于所有数组元素 哪种方法更好 虽然没有特别优雅的方式初始化在C语言中像这样的大数组是可能的 你
  • 在 javascript 服务器端连接 MySQL,无需使用 Node.js

    我有一个与服务器一起运行的 JavaScript 应用程序 例如nginx or eclipse local server 我想知道是否可以将其与mysql服务器数据库连接 我知道他们有很多npm packages for nodejs应用
  • jQuery:取消绑定事件处理程序以稍后再次绑定它们

    有谁知道如何取消绑定事件处理程序集 但记住它们以便稍后再次绑定它们 有什么建议么 项目的数据中有一个事件元素 这应该可以开始 您可以在解除绑定之前读取元素并将处理程序存储在数组中 如果您需要更多帮助 请发表评论 我通过阅读 fn clone
  • NLTK导入错误

    我是 Python 和 NLTK 的新手 我一直在尝试寻找解决问题的方法 但尚未找到解决方案 希望有人可以帮助我 我目前运行的是 64 位 Windows 8 我已按照 NLTK 网站上的说明进行操作 http www nltk org i
  • 如何在 FileOpen 对话框中禁用 Shell 扩展

    我说的是 Windows shell 扩展 我有一个 shell 扩展 它可以显示我的自定义文件类型的特定属性 例如 filetype 当然 这会导致我的 shell 扩展 dll 被加载到 explorer exe 进程中 但现在如果我在
  • 是否应该谨慎使用 FirebaseDatabase.getInstance()?

    例如 当我在 android 中使用 SQLiteDatabase 时 打开 关闭大量 SQLiteDatabase 助手通常不是一个好主意 相反 最好创建一种单例 以确保只打开 1 个数据库 假设我有一个带有静态方法的类 它执行大量需要
  • 如何在Android中使用自定义日历视图以及如何设置提醒提醒?

    我需要制作一个 Android 应用程序来显示日历控件 我曾试图在Android提供的默认小部件中找到这样的控件 但没有找到 如何在Android应用程序中集成日历控件 我还希望日历能够添加特定日期的事件和提醒 在计时器中同时播放 2 个声
  • 如何使用numpy将RGB图像转换为基于颜色的one-hot编码3d数组?

    简而言之 我想做的与这个问题类似 将 RGB 图像转换为索引图像 但我想要获取 n 通道图像 而不是 1 通道索引图像 其中img h w 是一个one hot编码向量 例如 如果输入图像是 0 0 0 255 255 255 索引 0 分
  • MediaCodec 编码视频底部有绿条且色度搞砸

    我开始了一个项目Grafika并对其进行了修改 我有一个框架 与原始框架没有太大不同 它可以捕获来自Camera并同时以不同的分辨率将其连续编码为视频 MediaCodec 用于编码 配置为使用COLOR FormatSurface为了让我
  • 当使用“all one word”时,有什么方法可以使 html 文本换行吗? [复制]

    这个问题在这里已经有答案了 可能的重复 有没有办法在 div 中自动换行 我有这个 css 和 html 问题 我有一个描述 我想将其放入一个 100 像素宽的框中 并且我希望文本沿着页面向下流动 我设置了一个这样的div div styl
  • SVG 在 Firefox 中完全不可见

    在将其标记为重复之前 我们已经确保宽度和高度设置正确 我将其描述为不可见 因为尽管它占用了正确的空间 甚至以正确的尺寸加载到图像上 但图像的内容在网站 网络选项卡以及直接查看 SVG 时都是空的 基本上 无论我们如何显示或查看它 实际的 S
  • OpenGL-ES 2.0 中未声明 glMapBuffer

    我正在 ubuntu 10 10 中通过使用 kronos 和 pvrsd kNow 代码进行 Opengl es 2 0 include
  • 懒惰、贪婪和所有格量词之间有什么区别?

    以下量词在场景 速度等方面有何不同 and 全部匹配0或1次 and 全部匹配0次或多次 and 全部匹配1次或多次 and are greedy and are 不情愿 懒惰 and are 所有格 谁能帮助我理解这些术语的含义 为什么同
  • 使用 Web 客户端 DownloadFileAsync 多个文件

    描述使用 webclient 的 DownloadFileAsync 下载多个文件 并利用文本文件作为 URL 输入进行下载 Problem我使用的方法根本不会下载文件 只是运行 什么也不做 它填充列表数组 然后退出程序而不下载单个文件 我
  • 节点removeListener不起作用

    尝试使用以下代码删除侦听器 var EventEmitter require events EventEmitter var emitter new EventEmitter emitter on message function text
  • iOS PencilKit 无法绘图

    我正在尝试使用 PencilKit 但无法在应用程序中绘制任何内容 我设置我的代码如下 import UIKit import PencilKit class DrawingViewController UIViewController v