问题标签 [pencilkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1397 浏览

ios - iOS PencilKit 不绘图

我正在尝试使用 PencilKit,但我无法在应用程序中绘制任何内容。我将我的代码设置如下。

我期待在 canvasView 中绘制/墨迹书写,但是当我尝试应用程序时没有响应。我的设备在 13.2 中运行,所以目标没有问题。我还从 WWDC 2019会议下载了 Apple 的应用程序,但它在模拟器中不起作用。为了澄清起见,我还在真实设备中对其进行了测试,但在任何使用PencilKit的应用程序中都没有响应。

0 投票
3 回答
408 浏览

ios - PencilKit 无法同时满足约束

我正在尝试实现出现在屏幕底部的铅笔工具包(一条铅笔、橡皮擦等)。但是,在运行这行代码时:

我在日志中收到以下错误,并且工具选择器没有出现:

我不确定如何处理 PKPalette 的约束或下面的哪些约束冲突。我也尝试禁用 translatesAutoResizingMaskIntoConstraints 并且它不起作用,因为我的应用程序的其他部分依赖它。任何帮助表示赞赏,谢谢!

0 投票
1 回答
1256 浏览

image - 在 SwiftUI 中使用 PencilKit 将绘图转换为图像

我在 SwiftUI 中有这个简单的视图,并为用户签名实现了 PencilKit。我的问题是,如何从用户的绘图中创建图像。

图像不应存储到相机胶卷

0 投票
1 回答
818 浏览

ios - 我们可以使用 Pencil Kit 在照片标记中添加文本、形状和签名吗?

在我的应用程序中使用 PencelKit 标记照片时,我没有任何添加文本、形状和签名的选项。此选项在 Apple 的照片应用程序中可用。我尝试使用 CanvasView 和 PKToolPicker 的各种属性来访问它,但没有成功。

0 投票
1 回答
936 浏览

ios - 如何使用 PencilKit 在 PKCanvasView 上获取触摸手势的坐标?斯威夫特 5 和 Xcode 11

请注意,我到处找了很多东西,但找不到解决方案。

使用Storyboard,我有一个ViewController,一个视图(UIView)和一个子视图(PKCanvasView),我想使用PencilKit在后者上绘制。

_

我的目标是:

  1. 仅在此PKCanvasView上绘制

  2. 实时获取我在PKCanvasView上绘制的坐标

我的结果

  1. 只有从这个视图开始,我才能PKCanvasView上绘图,而且我只能在这个PKCanvasView的框架内绘图。那挺好的。

  2. 如果我在UIView上开始手势,我只能设法获得触摸屏幕位置的坐标。但是,如果我先触摸PKCanvasView ,则不会。

我的问题

如何获取我在 PKCanvasView 上绘制位置的坐标?

——</p>

下面是我的代码

0 投票
5 回答
2250 浏览

swiftui - 使用 SwiftUI 实现 PencilKit 撤消功能

编辑:感谢一些反馈,我已经能够部分工作(更新代码以反映当前更改)。

即使该应用程序似乎按预期工作,我仍然收到“正在修改状态...”警告。如何更新视图的绘图updateUIView并将新绘图推送到堆栈canvasViewDrawingDidChange而不导致此问题?我尝试将它包装在调度调用中,但这只会创建一个无限循环。


我正在尝试在UIViewRepresentable( PKCanvasView) 中实现撤消功能。我有一个名为 SwiftUI 的父视图WriterView,它包含两个按钮和画布。

这是父视图:

这是我如何实现我的UIViewRepresentable

我收到以下错误:

[SwiftUI] 在视图更新期间修改状态,这将导致未定义的行为。

大概是由我的协调员确实改变了功能引起的,但我不确定如何解决这个问题。解决这个问题的最佳方法是什么?

谢谢!

0 投票
0 回答
71 浏览

swift - 选择新按钮后 UICollectionView 不释放内存

我正在开发一个具有笔记集合视图的笔记应用程序,点击每个单元格将引导用户进入不同的笔记。在我的应用程序中,每个注释本质上都是 ScrollView 固有的 PKCavnasView。

我发现,当用户导航回集合视图并选择一个新单元格时,上一个注释使用的内存不会被释放。因此,当用户在不同的笔记之间导航时,内存使用量会飙升。

更大的问题是,当应用程序进入后台时,所有的内存仍然没有释放。

我想知道的是,导航控制器会自动将每次点击的内存释放到不同的单元格吗?如果不是,自动释放池是这里的解决方案吗?如果是这样,我应该把自动释放池放在哪里。

在此处输入图像描述

0 投票
2 回答
2533 浏览

xcode - 保存 PencilKit 图像 – SwiftUI

我有一个 SwiftUI 视图来使用 UIViewRepresentable PencilKit 视图捕获用户签名。该视图很好地捕获了签名,但是当我尝试保存签名时,保存的文件是空白/空 PNG 文件。

0 投票
1 回答
496 浏览

uikit - 如何手动将 SwiftUI 视图设置为第一响应者?

我正在构建一个主要使用 SwiftUI 的应用程序,但我必须使用 UIKit ViewController 来与 PencilKit 交互。我正在使用UIViewControllerRepresentable它们之间的接口。

所以我有一个 ViewController 用来设置我的应用程序的 PencilKit 部分,在其中我必须设置一个依赖于 UIResponder 的 PKToolPicker。为此,我必须编写以下代码:

我这里使用的这个canvasView视图是控制绘图区域的视图,通常你必须将它设置为前面提到的ViewController的子视图。问题是,在我的例子中,这个 ViewController 嵌套在一个UIViewControllerRepresentable嵌套在 SwiftUI 视图中的 a 中。因此,我需要将此 SwiftUI 视图添加为第二个 FirstResponder,否则每次我在 SwiftUI 视图上运行手势时,PKTool 都会消失,因为 canvasView 不再是第一响应者。

所以我的问题是我该怎么做?如何将 SwiftUI 视图设置为第一响应者?找不到如何获取 SwiftUI 的 UIResponder 对象,所以我可以将它添加为 FirstResponder,有人知道怎么做吗?

0 投票
1 回答
661 浏览

ios - PencilKit toolPicker 未显示

我正在尝试使用 PencilKit 创建一个应用程序。我的一个 ViewController 中有以下代码。

虽然我正在调用该setVisible函数并制作第canvasView一个响应者,但我toolPicker的没有出现,并且打印toolPicker.isVisible是错误的。