axiom-ios-ui
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseiOS UI Router
iOS UI 路由指引
You MUST use this skill for ANY iOS UI work including SwiftUI, UIKit, layout, navigation, animations, and design.
任何涉及iOS UI的工作都必须使用该技能,包括SwiftUI、UIKit、布局、导航、动画和设计相关工作。
When to Use
适用场景
Use this router when working with:
- SwiftUI views, state, bindings
- UIKit views and constraints
- Layout issues (Auto Layout, SwiftUI layout)
- Navigation (NavigationStack, deep linking)
- Animations and transitions
- Liquid Glass design (iOS 26+)
- Apple Human Interface Guidelines
- UI architecture and patterns
- Accessibility UI issues
在处理以下内容时使用本指引:
- SwiftUI视图、状态、绑定
- UIKit视图和约束
- 布局问题(Auto Layout、SwiftUI布局)
- 导航(NavigationStack、深度链接)
- 动画与转场
- Liquid Glass设计(iOS 26+)
- Apple Human Interface Guidelines
- UI架构与模式
- 无障碍UI问题
Conflict Resolution
冲突解决
ios-ui vs ios-performance: When UI is slow (e.g., "SwiftUI List slow"):
- Try ios-ui FIRST — Domain-specific fixes (LazyVStack, view identity, @State optimization) often solve UI performance in 5 minutes
- Only use ios-performance if domain fixes don't help — Profiling takes longer and may confirm what domain knowledge already knows
Rationale: Jumping to Instruments wastes time when the fix is a known SwiftUI pattern. Profile AFTER trying domain fixes, not before.
ios-ui vs ios-performance:当UI运行缓慢时(例如:"SwiftUI List 加载缓慢"):
- 优先使用ios-ui —— 领域特定的修复方案(LazyVStack、视图标识、@State优化)通常能在5分钟内解决UI性能问题
- 仅当领域特定修复无效时再使用ios-performance —— 性能分析耗时更长,且可能只是验证领域知识已经覆盖的问题
理由:当已知SwiftUI模式就能解决问题时,直接使用Instruments工具分析会浪费时间。应先尝试领域特定修复,再进行性能分析,而不是反过来。
Routing Logic
路由逻辑
SwiftUI Issues
SwiftUI问题
View not updating →
Navigation issues →
Performance/lag →
Layout problems →
Stacks/grids/outlines →
Animation issues →
Gesture conflicts →
Architecture/testability →
App-level composition →
Search implementation →
iOS 26 features →
/skill axiom-swiftui-debugging/skill axiom-swiftui-nav/skill axiom-swiftui-performance/skill axiom-swiftui-layout/skill axiom-swiftui-containers-ref/skill axiom-swiftui-animation-ref/skill axiom-swiftui-gestures/skill axiom-swiftui-architecture/skill axiom-app-composition/skill axiom-swiftui-search-ref/skill axiom-swiftui-26-ref视图未更新 →
导航问题 →
性能/卡顿 →
布局问题 →
栈/网格/大纲视图 →
动画问题 →
手势冲突 →
架构/可测试性 →
应用级组合 →
搜索实现 →
iOS 26新特性 →
/skill axiom-swiftui-debugging/skill axiom-swiftui-nav/skill axiom-swiftui-performance/skill axiom-swiftui-layout/skill axiom-swiftui-containers-ref/skill axiom-swiftui-animation-ref/skill axiom-swiftui-gestures/skill axiom-swiftui-architecture/skill axiom-app-composition/skill axiom-swiftui-search-ref/skill axiom-swiftui-26-refUIKit Issues
UIKit问题
Auto Layout conflicts →
Animation timing issues →
/skill axiom-auto-layout-debugging/skill axiom-uikit-animation-debuggingAuto Layout冲突 →
动画时序问题 →
/skill axiom-auto-layout-debugging/skill axiom-uikit-animation-debuggingDesign & Guidelines
设计与规范
Liquid Glass adoption →
Design decisions →
Typography →
TextKit/rich text →
/skill axiom-liquid-glass/skill axiom-hig/skill axiom-typography-ref/skill axiom-textkit-refLiquid Glass适配 →
设计决策 →
排版 →
TextKit/富文本 →
/skill axiom-liquid-glass/skill axiom-hig/skill axiom-typography-ref/skill axiom-textkit-refAccessibility
无障碍
VoiceOver, Dynamic Type →
/skill axiom-accessibility-diagVoiceOver、动态字体 →
/skill axiom-accessibility-diagTesting
测试
UI test flakiness →
/skill axiom-ui-testingUI测试不稳定 →
/skill axiom-ui-testingDecision Tree
决策树
- SwiftUI view not updating? → swiftui-debugging
- SwiftUI navigation? → swiftui-nav
- SwiftUI performance/lag? → swiftui-performance
- SwiftUI adaptive layout? → swiftui-layout
- Stacks/grids/outlines (VStack, LazyVGrid, OutlineGroup)? → swiftui-containers-ref
- Feature-level architecture? → swiftui-architecture
- App-level composition (root view, auth flows, scenes)? → app-composition
- Animations/gestures? → swiftui-animation-ref or swiftui-gestures
- SwiftUI search? → swiftui-search-ref
- iOS 26 features? → swiftui-26-ref
- Auto Layout? → auto-layout-debugging
- UIKit animations? → uikit-animation-debugging
- Liquid Glass? → liquid-glass
- HIG compliance? → hig
- Typography? → typography-ref
- TextKit/rich text? → textkit-ref
- Accessibility? → accessibility-diag
- SwiftUI视图未更新?→ swiftui-debugging
- SwiftUI导航问题?→ swiftui-nav
- SwiftUI性能/卡顿?→ swiftui-performance
- SwiftUI自适应布局?→ swiftui-layout
- 栈/网格/大纲视图(VStack、LazyVGrid、OutlineGroup)?→ swiftui-containers-ref
- 特性级架构?→ swiftui-architecture
- 应用级组合(根视图、认证流程、场景)?→ app-composition
- 动画/手势?→ swiftui-animation-ref 或 swiftui-gestures
- SwiftUI搜索功能?→ swiftui-search-ref
- iOS 26新特性?→ swiftui-26-ref
- Auto Layout问题?→ auto-layout-debugging
- UIKit动画问题?→ uikit-animation-debugging
- Liquid Glass设计?→ liquid-glass
- HIG合规性?→ hig
- 排版问题?→ typography-ref
- TextKit/富文本?→ textkit-ref
- 无障碍问题?→ accessibility-diag
Anti-Rationalization
常见误区纠正
| Thought | Reality |
|---|---|
| "Simple SwiftUI layout, no need for the layout skill" | SwiftUI layout has 12 gotchas. swiftui-layout covers all of them. |
| "I know how NavigationStack works" | Navigation has state restoration, deep linking, and identity traps. swiftui-nav prevents 2-hour debugging. |
| "It's just a view not updating, I'll debug it" | View update failures have 4 root causes. swiftui-debugging diagnoses in 5 min. |
| "I'll just add .animation() and fix later" | Animation issues compound. swiftui-animation-ref has the correct patterns. |
| "This UI is simple, no architecture needed" | Even small features benefit from separation. swiftui-architecture prevents refactoring debt. |
| "I know how .searchable works" | Search has 6 gotchas (navigation container, isSearching level, suggestion completion). swiftui-search-ref covers all of them. |
| 错误想法 | 实际情况 |
|---|---|
| "简单的SwiftUI布局,不需要使用布局技能" | SwiftUI布局有12个常见陷阱,swiftui-layout技能覆盖了所有这些内容。 |
| "我知道NavigationStack的用法" | 导航涉及状态恢复、深度链接和标识陷阱,swiftui-nav技能可避免2小时的调试工作。 |
| "只是视图没更新,我自己调试就行" | 视图更新失败有4个根本原因,swiftui-debugging技能能在5分钟内诊断问题。 |
| "我先加个.animation(),之后再修复" | 动画问题会不断累积,swiftui-animation-ref技能包含正确的实现模式。 |
| "这个UI很简单,不需要架构设计" | 即使是小功能也能从分层设计中受益,swiftui-architecture技能可避免重构债务。 |
| "我知道.searchable的用法" | 搜索功能有6个常见陷阱(导航容器、isSearching层级、建议补全),swiftui-search-ref技能覆盖了所有这些内容。 |
Example Invocations
调用示例
User: "My SwiftUI view isn't updating when I change the model"
→ Invoke:
/skill axiom-swiftui-debuggingUser: "How do I implement Liquid Glass in my toolbar?"
→ Invoke:
/skill axiom-liquid-glassUser: "NavigationStack is popping unexpectedly"
→ Invoke:
/skill axiom-swiftui-navUser: "Should I use MVVM for this SwiftUI app?"
→ Invoke:
/skill axiom-swiftui-architectureUser: "How do I switch between login and main screens?"
→ Invoke:
/skill axiom-app-compositionUser: "Where should auth state live in my app?"
→ Invoke:
/skill axiom-app-compositionUser: "How do I create a grid layout with LazyVGrid?"
→ Invoke:
/skill axiom-swiftui-containers-refUser: "What's the difference between VStack and LazyVStack?"
→ Invoke:
/skill axiom-swiftui-containers-refUser: "How do I display hierarchical data with OutlineGroup?"
→ Invoke:
/skill axiom-swiftui-containers-refUser: "How do I add search to my SwiftUI list?"
→ Invoke:
/skill axiom-swiftui-search-refUser: "My search suggestions aren't working"
→ Invoke:
/skill axiom-swiftui-search-ref用户:"我的SwiftUI视图在模型更新时没有同步更新"
→ 调用:
/skill axiom-swiftui-debugging用户:"如何在我的工具栏中实现Liquid Glass设计?"
→ 调用:
/skill axiom-liquid-glass用户:"NavigationStack意外返回上一页"
→ 调用:
/skill axiom-swiftui-nav用户:"我应该为这个SwiftUI应用使用MVVM架构吗?"
→ 调用:
/skill axiom-swiftui-architecture用户:"如何在登录界面和主界面之间切换?"
→ 调用:
/skill axiom-app-composition用户:"认证状态应该存放在应用的哪个位置?"
→ 调用:
/skill axiom-app-composition用户:"如何使用LazyVGrid创建网格布局?"
→ 调用:
/skill axiom-swiftui-containers-ref用户:"VStack和LazyVStack有什么区别?"
→ 调用:
/skill axiom-swiftui-containers-ref用户:"如何使用OutlineGroup展示层级数据?"
→ 调用:
/skill axiom-swiftui-containers-ref用户:"如何为我的SwiftUI列表添加搜索功能?"
→ 调用:
/skill axiom-swiftui-search-ref用户:"我的搜索建议无法正常工作"
→ 调用:
/skill axiom-swiftui-search-ref