mcpField
E
expo-ios-hig

expo-ios-hig

github.com/pproenca设计与 UI218152 次安装11 周前更新
代码仓库

关于 expo-ios-hig

expo-ios-hig 为使用 Expo 和 React Native 构建 iOS 26 应用提供设计规则,适用于开发或审查 iOS 界面的人员。46 条 TSX 规则侧重原生导航、控件、样式和系统集成,而非用 JavaScript 重造这些功能。

主要功能

  1. 01八个优先级类别共 46 条规则
  2. 02Expo Router 导航与原生呈现模式
  3. 03系统控件和 SF Symbols 使用指南
  4. 04布局、语义颜色与 Liquid Glass 指南
  5. 05触控、动效、无障碍和系统集成

适用场景

  1. 01构建或审查 Expo iOS 屏幕与表单
  2. 02选择原生堆栈、标签栏、面板和模态页
  3. 03适配安全区、键盘及深色模式布局
  4. 04添加符合原生习惯的反馈与无障碍支持

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pproenca/dot-skills --skill expo-ios-hig

安装后在 Claude Code 中输入/expo-ios-hig确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
acc-dynamic-type.md
acc-grouping-focus.md
acc-reduce-motion.md
acc-roles-labels.md
acc-state-and-hint.md
layout-content-inset-under-bars.md
layout-dark-mode-semantic.md
layout-edge-to-edge.md
layout-keyboard-avoidance.md
layout-readable-width-ipad.md
layout-safe-area-insets.md
motion-empty-states.md
motion-loading-states.md
motion-optimistic-updates.md
motion-ui-thread-animation.md
motion-virtualized-lists.md
native-action-sheet.md
native-avoid-material-ui.md
native-datetime-picker.md
native-sf-symbols.md
native-switch-toggle.md
native-system-alert.md
nav-large-titles.md
nav-native-stack.md
nav-native-tabs.md
nav-push-vs-present.md

详细介绍

Expo iOS HIG 最佳实践

面向 Expo(React Native) 中 iOS 26 应用的设计规则,帮助应用遵循 Apple 人机界面指南,呈现真正原生的体验。包含 8 个类别中的 46 条规则,并根据各项决策对原生体验和 HIG 合规性的影响程度确定优先级。所有示例均为 TSX/Expo——展示的是你在 React Native 和 TypeScript 中作出的决策,而非 Swift。

核心理念:React Native 应用只有在充分利用平台能力时才会有原生感——使用系统导航控制器、系统控件、语义颜色、SF Symbols、真实触感反馈和系统分享菜单,而不是用 JavaScript 重新实现 iOS。这些规则会告诉你,哪些决策能带来原生感,哪些决策会在不知不觉中失去这种体验。

适用场景

在以下情况下,请参考这些指南:

  • 在 Expo 应用中构建或审查 iOS 屏幕、导航、列表或表单
  • 选择导航方式:Expo Router 原生堆栈或 JS 堆栈、原生标签页、工作表、模态视图、大标题
  • 选择控件:何时使用原生 Alert、ActionSheetIOS、日期选择器、Switch、SF Symbols,或改用 @expo/ui
  • 针对平台进行样式设计:安全区域、深色模式、语义颜色、iOS 字体排版比例、间距、Liquid Glass
  • 让交互更具原生感:触控目标、按压反馈、滑动操作、下拉刷新、手势、触感反馈
  • 添加动画、加载/空状态、无障碍支持、权限和启动优化

不适用场景

  • @expo/ui 组件 API——有关如何使用 @expo/ui/swift-ui 组件、Host 边界和修饰符,请使用 expo-ui 技能。此技能介绍哪些决策能让应用更具原生感,并在适合切换到 SwiftUI 时指向 @expo/ui;但不会重新介绍该 API。
  • 跨平台设计系统本身——有关共享的 Unistyles 主题、设计令牌、由变体驱动的组件 API,以及如何让组件在 Web 和 iOS 上都具有原生感,请使用 expo-design-system 技能。此技能负责 iOS 原生体验;该技能则负责两个前端共用的令牌和组件架构。
  • 原生 Swift/SwiftUI——如需在原生 Swift 代码库中应用 HIG,请使用 ios-hig 或 ios-design。此技能的示例全部使用 React Native/TSX。
  • Android——这些规则针对 iOS 规范。请使用平台自适应代码,让 Android 遵循 Material 规范;不要在 Android 上套用 iOS 设计惯例。

按优先级划分的规则类别

优先级类别影响程度前缀
1原生导航架构严重nav-
2原生组件保真度严重native-
3布局与自适应高layout-
4触控、手势与触感反馈高touch-
5视觉系统与 Liquid Glass高visual-
6动画与反馈中高motion-
7无障碍中高acc-
8系统集成与优化中system-

快速参考

1. 原生导航架构(严重)
2. 原生组件保真度(关键)
3. 布局与适配(高)
4. 触控、手势与触觉反馈(高)
5. 视觉系统与 Liquid Glass(高)
6. 动效与反馈(中高)
7. 无障碍功能(中高优先级)
8. 系统集成与完善(中优先级)

使用方法

阅读各个参考文件,了解详细说明和代码示例:

  • 章节定义 — 类别结构和影响级别
  • 规则模板 — 添加新规则的模板
  • 参考文件:references/{prefix}-{slug}.md

每个规则文件都简要说明了它为何有助于营造原生体验,提供一个 Incorrect(非原生)的 TSX 示例、一个与之相比仅有最小差异的 Correct(原生)示例,以及一个权威参考 URL。在适用情况下,规则还会添加“何时不应使用此模式”或“替代方案”章节。

相关技能

  • expo-ui — @expo/ui/swift-ui 组件 API 参考。此处的规则建议使用原生 SwiftUI 组件时,请参考它。
  • ios-hig / ios-design — 适用于原生 Swift/SwiftUI 代码库的 HIG 和 Apple 设计原则。
  • expo — Expo React Native 性能优化,与此处的动效和列表规则互为补充。

评论

支持 Markdown