通过源码自定义 UI 实现
如果您需要深度定制 UI Extensions 的界面和交互逻辑,可以直接引入 UI Extensions 的开源源码工程 uiextensions,在源码层面进行修改和定制。
集成源码工程
SDK 包的 libs/uiextensions 目录包含 UI Extensions 的完整开源源码。将源码工程集成到您的 Xcode Workspace 中:
- 打开您的
.xcworkspace文件。 - 将
libs/uiextensions/uiextensions.xcodeproj拖入 Workspace 的 Project Navigator。 - 在您的 App Target → General → Frameworks, Libraries, and Embedded Content 中,添加
libFoxitRDKUIExtensions.a(静态库)。 - 在 Build Settings → Header Search Paths 中,添加 UI Extensions 源码的头文件路径。
备注
集成源码工程后,不再需要引入 uiextensionsDynamic.framework,两者二选一。
源码结构
UI Extensions 源码的主要目录结构:
| 目录 | 说明 |
|---|---|
PublicHeaders/ | 公开头文件(UIExtensionsManager.h、UIExtensionsConfig.h 等) |
UIExtensions/ | 功能模块实现(注释、书签、搜索、签名、缩略图等) |
定制示例
在源码层面,您可以:
- 修改工具栏按钮的布局和样式
- 添加自定义功能模块
- 修改注释工具的默认行为
- 调整面板(Panel)的 UI 布局
Mac Catalyst 支持
如果您需要构建 Mac Catalyst 应用,可以使用 libs/uiextensions/ios_catalyst/ 目录下的 Catalyst 专用工程,该工程已针对 macOS 环境进行了适配。
注意
修改源码后请注意版本升级兼容性。升级 SDK 版本时需要重新合并源码变更。