问题标签 [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.
ios - PencilKit 清除画布并不总是有效
我正在构建一个 PencilKit 应用程序来解释 canvasView.drawing 的大小。低于一定尺寸的图纸被解释为轻敲手势,并在解释过程中被清除。
实际上,我这样做是这样的:
在我的 2020 iPad Pro 上,这可以完美运行。然而,在其他 iPad 上,我观察到一个奇怪的行为:
在画布上绘制的一系列小斑点中,这些小斑点都应该立即被清除,有时画布似乎没有被清除,一个斑点仍然可见。在我在其他地方绘制下一个斑点之后,清除再次起作用,这意味着画布在内部被清空,可见状态不是最新的。
画布上的手指输入被禁用。画布工具设置为铅笔,宽度 5.0。
有谁知道这种行为的原因是什么?
swift - 如何以编程方式检测 Swift 中的 Apple Pencil 模型?
有没有一种方法可以使用 Swift 以编程方式检测 iPad 上使用的是哪种触控笔,例如第一代或第二代 Apple Pencil 或 Logitech Crayon?
我在文档中找不到任何内容,该信息可用吗?
swift - 绘图时如何获取苹果铅笔的值-pencilkit
我想在绘图时获得苹果铅笔的值(位置、力、方位角)。我用了一个铅笔套件。我的问题是如果我启用了 PKCanvasView 的用户交互。我可以画画,但我无法获得价值。但是,如果我禁用用户交互,我就无法绘制,但我可以获得值。我该如何解决?
swift - PKToolPicker 添加文本、形状和签名
在我的应用程序中使用 PencelKit 标记照片时,我没有任何添加文本、形状和签名的选项。此选项在 Apple 的照片应用程序中可用。我尝试使用 CanvasView 和 PKToolPicker 的各种属性来访问它,但没有成功。
ios - 可以从 PkCanvasView 中删除“在上方插入空间”选项吗?
我正在使用我的应用程序之一 PkCanvasView 进行绘图。当我使用套索工具进行选择并点击所选区域时,会出现菜单控制器,其中包含“剪切、复制、删除、复制、在上方插入空间”选项。根据我的应用程序要求,我想从菜单控制器中删除“在上方插入空间”。可行吗?
ios - 有没有办法扩大 PencilKit 中 Apple Pencil 绘图的可能宽度范围?
iPad 上的大多数高端绘图应用程序都提供了一种编辑 Apple Pencil 的“压力曲线”的方法,即增加多少压力会影响所创建线条的宽度。Apple 的PencilKit提供了具有压敏宽度的工具(例如,“笔”),但宽度在相对狭窄的范围内变化。
几个结构(例如,InkType
)提供了一种设置“有效宽度范围”的方法,并且PKInkingTool
允许指定墨水的宽度,但我似乎找不到调整单个有效宽度范围的方法中风。
据我所知,这是工具行为可配置性的限制
有没有办法创建自定义工具或以其他方式指定其他配置?理想情况下,我想创建一个等效的钢笔工具,允许大小线之间更平滑的变化。当前的工具在其对铅笔压力敏感性的利用方面似乎相当有限。
ios - 将文本和图像添加到 PencilKit 画布
我正在尝试创建本机 iOS Notes 应用程序的克隆。我已经用 SwiftUI 设置了 PencilKit。我现在正在尝试将(键入的)文本添加到注释和背景图像/图案中。我还想将笔记序列化到文件中。
如何将多个背景图像和可编辑文本添加到 PencilKit Canvas aka UIScrollview 的背景?
ios - 允许根据 UITouch.TouchType 使用 point(inside:with:) 与后面的视图交互。(PKCanvasView)
问题
我正在尝试使用以下逻辑拦截对视图的触摸:
- 判断是否
UITouch.TouchType
是.pencil
- 如果没有
.pencil
,请通过触摸查看下方 - 否则
.pencil
,处理触摸。(UIGestureRecognizer
)
我的尝试
经过一些研究,我发现允许通过下面的视图处理触摸的方法是在需要时使用point(inside:with:)
并返回false
。
如果我想使用CGPoint
位置来确定布尔值,这很好,但在我的情况下,我需要访问它UITouch
本身。
我尝试使用UIEvent
传递给函数来访问与该事件关联的触摸,但这只会返回一个空的UITouch
.
这是我用来实现这种方法的子类:
因此,总而言之,如何根据用户是否使用苹果铅笔进行触摸将触摸传递到下面的视图?