关于 haptics
Haptics 是用于规划界面触觉反馈的设计技能。它为使用 iOS 反馈生成器或 Core Haptics 的开发者提供指导,强调反馈应有明确目的、适度,并与其他信号配合。
主要功能
- 01选择基础或自定义触觉反馈
- 02提供 UIFeedbackGenerator 和 Core Haptics 指引
- 03通过预备反馈生成器降低延迟
- 04运用因果性、协调性和实用性原则
- 05关注无障碍与电池消耗
适用场景
- 01为重要操作添加触觉确认
- 02使用 Core Haptics 创建自定义触觉模式
- 03审查触觉反馈的无障碍性与适度性
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ johnrogers/ claude-swift-engineering --skill haptics安装后在 Claude Code 中输入/haptics确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/ahap-patterns.mdcore-haptics.mddesign-principles.mduifeedbackgenerator.md详细介绍
触觉反馈
触觉反馈能为用户操作和系统事件提供触感确认。经过周到的设计,触觉反馈可以让界面从实用变得令人愉悦。
概述
触觉反馈应增强交互,而不是喧宾夺主。核心原则是:触觉反馈如同声音设计——每种触觉反馈都应有明确目的(确认、错误、警告)、恰当时机(立即或延迟)和适度克制(少即是多)。
参考资料加载指南
只要有一丝可能需要用到参考资料内容,就务必加载参考文件。 了解上下文总比错过某种模式或犯错要好。
| 参考资料 | 加载时机 |
|---|---|
| UIFeedbackGenerator | 使用简单的冲击、选择或通知触觉反馈时 |
| Core Haptics | 使用 CHHapticEngine 创建自定义模式时 |
| AHAP Patterns | 使用 Apple Haptic Audio Pattern 文件时 |
| Design Principles | 应用因果性、和谐性、实用性框架时 |
核心工作流
- 选择复杂度级别:简单(UIFeedbackGenerator)或自定义(Core Haptics)
- 对于简单触觉反馈:使用 UIImpactFeedbackGenerator、UISelectionFeedbackGenerator 或 UINotificationFeedbackGenerator
- 对于自定义模式:创建 CHHapticEngine,定义 CHHapticEvents,构建 CHHapticPattern
- 触发前进行准备:调用
prepare()以降低延迟 - 应用设计原则:确保因果性(时机)、和谐性(多模态)和实用性(有意义)
系统要求
- iOS 10+:支持 UIFeedbackGenerator
- iOS 13+:支持 Core Haptics(CHHapticEngine)
- iPhone 8+:支持 Core Haptics 硬件
- 需要实体设备——无法在 Simulator 中测试触觉反馈
常见错误
-
每次操作都触发触觉反馈——并非每个按钮都需要触觉反馈。仅在重要操作确认时使用(购买、删除、更改设置)。触觉反馈过多会令人烦躁并消耗电量。
-
在主线程上触发触觉反馈会造成阻塞——较长的触觉反馈模式可能会短暂冻结 UI。使用后台线程或异步方式调用 Core Haptics 的
prepare(),以避免卡顿。 -
触觉反馈缺少音频或视觉反馈——只依赖触觉反馈,会让失聪或聋盲用户无法获取反馈。务必将触觉反馈与声音或视觉响应配合使用。
-
忽略触觉反馈设置——有些用户会在系统范围内关闭触觉反馈。触发前检查
UIFeedbackGenerator.isHapticFeedbackEnabled。必须妥善处理功能降级。 -
AHAP 文件错误不易察觉——无效的 AHAP 文件会静默失败,不会报错。发布前,请使用 Xcode 的触觉设计器进行测试,并验证文件语法。
-
忘记电量影响——持续触发触觉反馈模式(进度条、加载状态)会快速耗尽电量。仅在状态变化时使用触觉反馈,不要将其用于持续反馈。