问题标签 [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 投票
0 回答
294 浏览

ios - PKDrawing:文本到 PKStroke

我想将文本添加到PKDrawing

苹果实际上在他们的 WWDC2020 视频中演示了这个用例:https ://developer.apple.com/videos/play/wwdc2020/10148

但是,看示例代码,他们只是简单地记录了之前绘制的文本

任何熟悉字体和矢量格式的人:将单个系统字体转换PKStroke为添加到PKDrawing.

0 投票
0 回答
678 浏览

ios - PDFView with PKCanvasView drawingGestureRecognizer on iOS14

PKCanvasView添加到的最小代码PDFView。如果设置PKCanvasView了,则正确显示PKDrawing。但是在 iOS14 上,drawingGestureRecognizer不会触发。适用于iOS13

仅供参考,页面是动态呈现的,可以从层次结构中添加和删除。如果您使用此代码,则需要bringSubviewToFront在页面更改时使用。

0 投票
1 回答
1118 浏览

ios - 如何在 SwiftUI 中使用 PKToolPicker 和 PKCanvasView

目前,我可以有一个单独的PKCanvasView和一个PKToolPicker在点击按钮时显示的。但是,该工具不会在选取器和画布视图之间传输。有谁知道如何将两者链接起来,这样当我在选择器中更改工具时,该工具也会在画布视图中更新?我在下面附上了我的代码。谢谢!

0 投票
2 回答
1291 浏览

swift - SWIFTUI:在 PDF 上绘图

所以我现在正在构建一个应用程序,我想在 PDF 上绘图 - 就像签名一样。

该应用程序是用 Swift 构建的,我使用的是 SwiftU、PencilKit、PDFKit 和 WebKit。我已经可以显示 PDF 并在视图中绘图。如果我使用我的 PDFView 作为我的 PencilKitCanvas 的背景,我基本上可以在该 PDF 上绘图,但我不认为这是要走的路。我也无法以这种方式保存新的 PDF。

这是我的视图,这些是我的 PDF 和 PencilKitCanvasViews:

那么我怎样才能准确地在 PDF 上绘图并保存呢?我是否必须将其全部保存为 UIImage 并将其转换为 PDF?

谢谢并原谅我的英语不好。

0 投票
0 回答
135 浏览

pencilkit - 如何在使用套索选择绘图并四处移动时禁用 PKCanvasView 滚动

我认为标题解释得很清楚。我有一个PKCanvasView部分放大的,当我用套索工具选择绘图的一部分然后用我的铅笔移动它时,整个视图开始跟随我的铅笔移动。

尝试设置isScrollEnabledfalse没有骰子。

0 投票
0 回答
281 浏览

ios - 清除 PKCanvasView 的撤消缓冲区

我正在尝试使用 Apple 的 PencilKit。很好地展示PKToolPicker作品,我可以在画布上画画。但是,我想知道是否以及如果是,如何清除撤消缓冲区。

背景:我允许用户翻阅他的绘图,但即使我将新绘图分配给PKCanvasView. 我想在显示之前的一张图纸之前清除撤消缓冲区。

我试图PKCanvasView通过调用清除父视图控制器的撤消缓冲区和撤消缓冲区

无济于事。

或者,我也可以PKToolPicker在 iPad 上隐藏撤消/重做按钮。这可能吗?

0 投票
1 回答
416 浏览

ios - 快速将数据转换为 UnsafeRawPointer,反之亦然

我一直在开发一个使用 Pencil Kit 的应用程序,我正在尝试将画布上的绘图存储到 sqlite3 数据库中。为此,我必须将绘图(类型:数据)转换为 UnsafeRawPointer。但是,转换后,当我尝试通过指针访问(打印)图形时,它返回 0 字节而不是 42 字节。我在下面的代码中添加了一些打印语句以及它们返回的内容,希望对您有所帮助。

我是制作 iOS 应用程序的初学者,很难快速理解指针。先感谢您。

编辑:保存绘图方法:

我想使用 .load() 将指针转换为数据的方法:

0 投票
1 回答
163 浏览

ios - 在 Swift 中将数据保存到 sqlite3 数据库中

我正在开发一个使用 PencilKit 的应用程序。我正在尝试将 PK 绘图以数据的形式保存在 sqlite3 数据库中,但它没有保存。我认为问题在于保存功能,而不是获取绘图数据以显示的功能,因为当我直接在终端中查询时,数据库中的绘图行是空的。

0 投票
2 回答
463 浏览

ios14 - 关于 PencilKit 的 iOS14

环境 ・MacOS:10.15.7 ・Xcode:12.1 ・iOS:14.1

我正在尝试使用 PencilKit,但无法显示 PKToolPicker。我将我的代码设置如下:

在此处输入图像描述

我在这里收到警告:

'shared(for:)' 在 iOS 14.0 中已弃用:改为创建单个实例。

所以我这样改了

在此处输入图像描述

毕竟PKToolPicker没有显示

在此处输入图像描述

我的目标是展示这样的PKToolPicker

请给我建议

0 投票
0 回答
159 浏览

ios - 过多的脏内存

我正在开发一个用于在简单画布上绘图的 iOS 应用程序。该应用程序每次管理一个画布(层的管理方式不同)。我没有使用 3rd 方库,所有组件都是 Apple 友好的(例如画布是 PencilKit),而 UI 都是 SwiftUI。该应用程序从未崩溃,但当测试人员在其上运行时,脏内存增长并且应用程序明显变慢。

Instruments 记录显示应用程序启动时正确内存增加,但使用的内存从未减少,即使使用内存的操作完成。这会导致脏内存不断增加。

我正在使用 iPad 12.9 第 4 代等真实设备上的模拟器和测试仪。

我大量使用 Dispatchers、UIImages 和 CIImages。

附上 Instruments VM Tracker 的脏内存部分。

我需要了解为什么当 SwiftUI 的视图消失时没有释放内存。

这是简单的流程:

那么:Instruments 中有没有办法准确地找到哪个 Object 保留了脏内存?

谢谢