了解如何将 paperkit 引入你的 ios、ipados、macos 以及 visionos app。我们将介绍如何将 pencilkit 绘画与标记功能 (如形状和图像) 无缝整合,以及如何自定用户界面。了解向前兼容性的最佳实践,并探索高级自定选项,以便为你的 app 打造真正与众不同的标记体验。
此文章由AI生成,可能存在错误,如有问题,请联系djs66256@163.com
了解 PaperKit:苹果全系统标注框架解析
在今年的 WWDC 上,苹果推出了一个强大的新框架——PaperKit,它为 iOS、iPadOS、macOS 和 visionOS 应用提供了统一的标注体验。本文将详细介绍 PaperKit 的核心功能、集成方法以及自定义选项。
PaperKit 简介
PaperKit 是支撑苹果全系统标注体验的基础框架,被广泛应用于备忘录、屏幕截图、快速查看和日记等原生应用中。作为一个多功能画布框架,它允许开发者轻松地在应用中添加丰富的标注功能,包括:
- PencilKit 绘画功能
- 各种标注元素(形状、图像、文本框等)
- 绘画与标注元素的组合交互
- 跨平台一致体验(包括最新的 macOS Tahoe)
核心组件
PaperKit 包含三个主要组件:
- PaperMarkupViewController:交互式创建和展示标注内容的控制器
- PaperMarkup:数据模型容器,负责保存/加载标注数据和渲染
- 插入菜单:
- iOS/iPadOS/visionOS:MarkupEditViewController
- macOS:MarkupToolbarViewController(新工具栏)
快速集成
iOS 平台集成
在 iOS 应用中集成 PaperKit 只需几个简单步骤:
1 | override func viewDidLoad() { |
macOS 平台集成
macOS 上的集成方式类似,但提供了专门的工具栏选项:
1 | override func viewDidLoad() { |
高级功能与最佳实践
自动保存机制
PaperKit 提供了方便的代理方法来处理标注内容的自动保存:
1 | func paperMarkupViewControllerDidChangeMarkup(_ paperMarkupViewController: PaperMarkupViewController) { |
向前兼容性处理
对于版本兼容性问题,建议显示预渲染缩略图:
1 | func updateThumbnail(_ markupModel: PaperMarkup) async throws { |
自定义功能集
PaperKit 允许开发者通过 FeatureSet 自定义可用的标注功能:
1 | var featureSet: FeatureSet = .latest |
自定义背景
开发者可以设置任意 UIView 作为标注背景:
1 | let template = UIImage(named: "MyTemplate.jpg") |
总结
PaperKit 为苹果生态应用提供了一套完整、灵活的标注解决方案。通过简单的集成步骤和丰富的自定义选项,开发者可以轻松地为应用添加专业级的标注功能。无论是简单的笔记应用还是复杂的创意工具,PaperKit 都能满足不同场景的需求。
相关视频
充分利用 Apple Pencil 的强大功能
PencilKit 的新功能
SwiftUI 新功能