问题标签 [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 回答
432 浏览

ios - PKToolPicker(PencilKit)的初始位置?

如何设置 PKToolPicker 初始位置?

它总是从底部开始,如果有工具栏,则将工具栏遮住。

0 投票
2 回答
576 浏览

ios - iOS PencilKit 以编程方式绘制形状

我试图弄清楚如何修改PKDrawing属性PKCanvasView以添加一些形状,如圆形或至少添加一条线,但是PKDrawing它是一种不透明的类型,所以没有太多可做的。

是否有任何解决方法可以在 a 上创建形状或线条PKCanvasView

0 投票
0 回答
224 浏览

ios - 在 UIScrollView 中显示多个 UIView 的小缩略图/镜像

我有一个 UIScrollView 包含多个视图(如 20 个视图)。这些视图中的每一个都有一个带有背景颜色的图像、一个包含多个形状的视图(带有路径的 CAShapeLayer)和一个 PKCanvasView(来自 iOS 13 PencilKit)。它基本上就像一个 PDFView:您可以滚动浏览多个页面。

我想显示所有这些视图的概述:一个 UICollectionView,每个视图都有一个单元格,“镜像”整个视图。我尝试从视图生成图像,将其与绘图图像叠加,将其缩小到我需要的大小,然后将此图像用作 UICollectionViewCell 中的缩略图。但是,这需要很长时间,我无法在后台线程上执行此操作。

我已经看到其他应用程序这样做了,所以必须有一种方法:我可以做些什么来将这 20 个视图镜像为我的 UICollectionView 中的小缩略图?我希望用户点击一个名为“Overview”的按钮,该按钮立即显示 UICollectionView,其中包含每个视图的缩略图。

0 投票
3 回答
1241 浏览

swift - 如何在 PencilKit 的 PKCanvasView 中禁用铅笔绘图,仅用于查看目的

我成功地在我的视图中创建了 PKCanvasView 并让它在那里绘制。但是如何仅出于查看模式等某些目的禁用 PKCanvasView 中的绘图。

是否可以在 PKCanvasView 中禁用铅笔和手指绘图?

我可以通过设置变量allowFingerDrawing false 来禁用手指绘图,但我也想禁用铅笔。

0 投票
1 回答
249 浏览

ios - 在 iOS13 上强制 QLPreviewController 进入编辑模式

只是呈现一个 QLPreviewController 来查看图像(在 iOS13 上)。理想情况下,我希望它自动切换到编辑模式(因此呈现 PencilKit 的东西。)

有人知道怎么做吗?setEditing: 方法(在 UITableViewControllers 上使用)似乎在这种情况下不起作用。

谢谢

0 投票
2 回答
2720 浏览

ios - SwiftUI 中的 PencilKit

我正在尝试PencilKit在 SwiftUI 中使用。

  1. 如何在updateUIView-function 中检测到哪个Binding-variable 已更新?例如,我不想在更改颜色时清除画布。
  2. 还有比切换布尔值更好的方法来清除画布吗?切换布尔值会强制updateUIView执行 -function。
0 投票
1 回答
1109 浏览

swift - 在 Swift 中使用 PencilKit。将 PKDrawing 保存到数据库中的最佳方法是什么?如何序列化它?

我正在一个使用 Swift 的应用程序中工作,该应用程序包括带有“canvasview”的 PencilKit 来记笔记。一切正常,但我找不到将 canvasView.drawing返回的值“转换”为 String 以将其上传并存储到数据库中的方法。

我可以获得一个图像,甚至是一个“base64EncodedString”,但我需要一种方法将“绘图”发送到服务器,然后从中加载,并显示在 canvasView 中。

我已经测试过将其转换为json,但是当从服务器加载时,我无法“反序列化”并再次将其转换为“绘图” 呵呵。

提前致谢

0 投票
1 回答
790 浏览

ios - 如何为 PencilKit 创建 .drawing 文件?

在此处输入图像描述

如果您查看 Apple 的PencilKit示例,您会注意到 Apple 使用了一个名为Notes.dataset保存Pencilkit绘图的数据集文件。在 内部Notes.dataset,它包含一个用于资产目录的通用 json 文件。

但更有趣的是,有一个名为 的文件color.drawing,它保存了由Pencilkit. 我的问题是,作为开发人员,您如何创建此文件?例如,我想创建一个教程Pencilkit并将其保存为“.drawing”文件,以便在首次启动时加载。

0 投票
2 回答
807 浏览

swift - 在 PencilKit 中获取 PKDrawing / 单个笔画的边界

我需要访问 PencilKit 中 PKDrawing 的各个笔画的坐标。有什么办法可以访问它吗?目前,我唯一的想法是尝试解码我​​们从 PKDrawing 获得的不透明数据表示。

0 投票
0 回答
1174 浏览

ios - 用 PDFKit 实现 PencilKit

我的应用程序使用PDFKit显示 PDF 文件,并允许用户通过我自己的代码使用UIKitCoreGraphics框架对 pdf 文件进行注释。由于我想使用PencilKit框架来更好地进行注释,因此我正在实施该PencilKit框架,但我发现了一些我遇到的问题。

我所做的是在 PDFView 上添加PKCanvasView一个DocumentView。从本质上讲,它工作正常,我可以使用工具进行注释,PencilKit并且可以浏览 PDF 的页面。

当我在 PDF 页面上放大时出现问题。由于PKCanvasView没有在 内部进行缩放DocumentView,因此墨水注释显示为像素化。没有用新的PKCanvasView比例重绘其内容,因为它的缩放没有改变,并且更新contentScaleFactor以使绘图更清晰不起作用。

另一个问题是,在某种程度上与前一个问题相关,因为该应用程序适合每个 PDF 页面以使用所有屏幕,这使得UIScrollView包含DocumentViewPDFView 的缩放在 PDF 页面大小的功能上有所不同. 这使得如果我打开一个具有小页面的 PDF 和另一个具有大页面的 PDF,就大小(宽度 x 高度)而言,即使我选择了最小的,我也会看到不同大小的墨迹工具线条的宽度两个文件的线宽PKToolPicker

所以我想知道是否可以将 aPKCanvasView和 PDFView 分别添加到UIViewController’s视图中,因此它们都具有相同的superview,具有相同的 ContentSize 和最大/最小缩放级别,并且在平移和缩放 时PKCanvasView,PDFView 也是如此。

无论如何,如果有解决方法,我会很高兴知道。;)