App UI Patterns 是一套面向 macOS/iOS 工具类应用的可复用 SwiftUI 界面模式集合,源自 makgunay/claude-swift-skills。其定位是为提示词管理器、剪贴板工具、文本扩展器和启动器等实用型应用提供现成的 UI 结构与交互范式。所有模式均采用 Liquid Glass 设计语言,并假定目标平台为 macOS 26+ 或 iOS 26+。
一、用途 该技能聚焦“工具型应用”的高频界面需求,把常见交互拆解成可复用的模式,便于在多个项目中直接套用或改编。每个模式都说明适用时机与关键技能依赖,形成一份可检索的“模式索引”。
二、主要能力(模式索引)
- Spotlight 式快速访问:用于“热键 → 搜索 → 选择 → 执行”的核心流程,依赖 global-hotkeys 与 appkit-bridge。行为包括:出现时搜索框自动聚焦;方向键导航结果,回车选择,Escape 关闭;⌘Enter 触发备用动作(例如复制而非粘贴);选中项通过 .glassEffectID 在行间形变;结果滚动保持选中项可见;无匹配时展示空状态。
- 分类侧边栏:主窗口的三栏 NavigationSplitView,依赖 swiftui-core,包含带玻璃选中文形效果的侧边栏实现。
- 浮动编辑器:在浮层中编辑内容,配合 appkit-bridge 的 NSPanel 使用,内含标题字段、内容编辑器与可展开预览。
- 紧凑网格调色板:无需搜索的网格选择,带悬停形变效果,适合快速访问。
- 设置表单:带玻璃分区的应用偏好设置,使用 @AppStorage 存储热键修饰键、热键键值、登录启动、在 Dock 显示等。
- Toast 通知:操作后的短暂反馈浮层,支持自动消失与弹簧动画。
- 变量系统:{{placeholder}} 的检测、输入与高亮。包含从内容中提取变量名的正则实现、按值填充并返回展开内容、变量输入弹窗(按顺序聚焦、⌘Enter 完成填充并复制),以及变量语法高亮视图。
- 模板选择器:从预定义模板创建内容(原文未提供具体实现细节)。
- 富文本复制:多格式剪贴板(纯文本 + HTML + RTF),依赖 pasteboard-textinsertion,使粘贴在各类应用中都有良好表现。
- Diff 视图:版本比较(原文未提供具体实现细节)。
三、使用方式 文档以代码片段形式给出各模式的 SwiftUI 实现,开发者可直接参考结构进行集成:例如 QuickAccessPanel 的视图结构、handleKeyPress 的键盘处理、CategorySidebar 的玻璃选中形变、FloatingEditorView 的浮动编辑面板、PromptPalette 的网格悬停、SettingsView 的玻璃分区表单、ToastView 的短暂反馈,以及 copyRich 函数的多格式写入。变量系统部分给出 detectedVariables 与 filled(with:) 扩展、QuickVariablePopover 输入界面和 HighlightedPromptView 高亮实现。文档还提示应避免的“反模式”:不要玻璃效果过载、不要嵌套玻璃、不要把玻璃用在深色背景上,而应在多样化的背景(如壁纸图片)上使用玻璃效果。
四、适用场景 适用于构建 macOS/iOS 工具类应用的界面:需要全局热键唤起搜索面板、需要分类浏览内容、需要在浮层中编辑、需要网格快速选择、需要偏好设置、需要操作反馈提示、需要变量填充与多格式复制等场景。
五、限制 所有模式假设 macOS 26+ / iOS 26+ 与 Liquid Glass 可用;部分模式依赖其他技能(global-hotkeys、appkit-bridge、swiftui-core、liquid-glass、macos-app-structure、pasteboard-textinsertion);模板选择器与 Diff 视图仅列出条目,具体实现暂未提供;文档未说明收费、价格或平台可用性等额外信息。
原文 URL:https://www.skills.sh/makgunay/claude-swift-skills/app-patterns