问题标签 [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 - PKCanvasView 如何在 iOS 13 [objC] 中获取位置和压力?
我想获取已在 PKCanvasView 中绘制的每个点位置和压力的数据,我尝试过touchesBegan
启用保持用户交互和手势识别器,但没有一个对我有用。如果有任何其他解决方案可以跟踪 iPencil 的这些值,请指导我。
ios - PencilKit 中的 PKToolPicker 不会显示在以编程方式创建的 UIWindow 上
我有一个视图控制器想要显示来自 PencilKit的 aPKCanvasView
和 a 。PKToolPicker
这是代码:
我的问题是,当我以编程ViewController
方式作为情节提要中的初始 ViewController启动时,PKToolPicker
它在屏幕底部显示得很好。这是一个工作的屏幕截图DrawingViewController
但是,如果我以编程ViewController
方式使用新的UIWindow
. 然后PKToolPicker
不显示。
所以我假设我的ViewController
代码没有任何问题。这可能是我如何创建新 UIWindow 的问题。
我使用以下代码(注意我正在使用 iOS 13)从以下代码创建窗口SceneDelegate.swift
:
我很困惑。PencilKit 没有给出太多关于它为什么无法显示 PKToolPicker 的警告或错误。任何输入表示赞赏。
编辑 1
只是添加更多信息。我查看了层次结构查看器,看起来 PKToolPicker 在那里,但没有一个工具被绘制到屏幕上。
编辑 2
我在 中添加了一个计时器ViewController
,我注意到当PKToolPicker
实际显示时,PKCanvasView
实际上成为第一响应者。不是立即,而是几秒钟后。当我使用以编程方式创建的UIWindow
时,PKCanvasView
永远不会成为第一响应者。所以也许这与我的窗口没有要求以某种方式成为第一响应者这一事实有关。
编辑 3
我设法简化了问题并将其放入您可以在此处查看的示例应用程序中。如果您查看SceneDelegate.swift
,那里有创建我自己的窗口的代码。如果我将此代码注释掉,我会毫无问题地看到我的工具选择器。当我取消注释代码时,它不显示工具选择器。
ios - 带有底层背景图像的可缩放 PKCanvasView
我喜欢PKCanvasView
使用底层图像进行滚动和缩放。似乎可以在不添加背景图像的情况下使其可滚动和可缩放。但是要使用底层图像制作它,我不知道如何使它工作。
由于PKCanvasView
是 的子类UIScrollView
,我尝试UIView
在滚动视图中放置自定义内容,然后设置一个委托来指定该视图进行缩放。但是PKCanvasView
的绘图图像和内容视图在缩放时不会同步它们的位置,滚动没关系。
然后我尝试PKCanvasView
作为另一个内容视图UIScrollView
,将PKCanvasView
其视为不可滚动视图。然后我同步PKCanvasView
的绘图和容器绘图图像之间的位置。但是,我不确定是否PKCanvasView
可能不是为在另一个下设计的UIScrollView
,用手指定位标尺的行为不稳定,通过拖动一直跳到另一个地方。
据我所知,大多数PKCanvasView
示例代码都可以很好地工作,而无需使用底层图像进行缩放。但是一旦我设置maximumZoomScale
为 2 或更多。然后它不再同步图纸和底层背景图像。
谢谢
swiftui - PKCanvasView 上的手指和铅笔宽度不同
我正在尝试构建一个能够同时使用苹果铅笔和手指输入进行绘图的应用程序。但是,当我将工具的宽度设置为足够小的数字 (1) 时,铅笔输入会正确显示,但是当我使用手指时,它会画出更粗的线条。在铅笔和手指之间切换时,我希望宽度均匀。任何帮助,将不胜感激。Bellow 是最小的可重现代码。
ipados - 在深色模式下使用 PencilKit 会导致颜色错误
在暗模式下,PKInkingTool 中设置的所有颜色似乎都在亮度上反转。如果我选择鲜红色,我会得到深红色,反之亦然。
例如,如果我使用 UIColorPickerViewController 来选择一种颜色:
PKCanvasView 中显示的颜色不是正确的颜色。似乎可行的唯一方法是不支持暗模式。
有没有办法让 PencilKit 使用正确的颜色而不是自动转换颜色?
ios - 在没有 PKCanvasView 的情况下使用 PKToolPicker
我正在尝试PKToolPicker
从自定义视图(不是 PKCanvasView)中使用 PencilKit(iOS/Swift)。自定义视图符合PKToolPickerObserver
. 在编译期间一切正常,但我从来没有看到 PKToolPicker!如果我用 PKCanvasView 替换我的自定义视图,一切正常!
我在 SwiftUI 中使用 UIViewRepresentable 执行此操作(因此 First Responder 似乎是个谜!)。
这是有问题的 SwiftUI 视图:
如果我myView
用PKCanvasView
上面的替换,将看到 PKToolPicker。
为了完整起见,这里是 MyView 存根:
有人成功地做到了这一点吗?采用 PKToolPicker 是否有一些未记录的要求?
ios - 自定义 PKToolPicker 工具
PKToolPicker
在 PencilKit (iOS 13+) 中带有默认工具,即 iOS 上的钢笔、记号笔、铅笔、橡皮擦、套索、尺子和颜色选择器。在 iPadOS 上,这通过撤消/重做和(...)
为 PKToolPicker 提供“自动最小化”选项的菜单进行了扩展。
两个问题:
- 无论如何要禁用/删除选择器中的默认工具之一(比如标尺)?
- 是否可以在
(...)
子菜单中添加其他操作(快照控制器就是这种情况,有很多有趣的选项)?
提前致谢。
ios - 有没有人可以清楚地将 PKDrawing 呈现为 PDF 的好方法?
我正在尝试通过 PDF 文件共享我的 PKDrawing 结果以供电子邮件或打印。我正在使用其他 2 个 PDF 文件以及顶层的 PKDrawing 创建 PDF。2 个 PDF 图层看起来很清晰。然而,PKDrawing 有点颗粒感,尤其是与打印的屏幕截图相比。
这是我当前的代码:
ios - 如何在 UIKit 中使用 ZStack
这是我的 SwiftUI 代码,它运行良好。用户可以毫无问题地绘制和按下按钮。我希望用户在任何东西、标签、按钮等上绘图。但是我如何使用 UIKit 做到这一点?任何想法 ?
(我为 swiftui 编辑了 Kavsoft 的代码铅笔包:https ://kavsoft.tech/SwiftUI_2.0/Pencil_Kit/ )
这是我的 SwiftUI 代码,它运行良好。用户可以毫无问题地绘制和按下按钮。我希望用户在任何东西、标签、按钮等上绘图。但是我如何使用 UIKit 做到这一点?任何想法 ?