ios-hig

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

iOS Human Interface Guidelines

iOS人机界面指南

Apple's Human Interface Guidelines define the visual language, interaction patterns, and accessibility standards that make iOS apps feel native and intuitive. The core principle: clarity and consistency through thoughtful design.
Apple的人机界面指南定义了让iOS应用具备原生感和直观性的视觉语言、交互模式以及无障碍标准。核心原则:通过精心设计实现清晰性与一致性。

Reference Loading Guide

参考资料加载指南

ALWAYS load reference files if there is even a small chance the content may be required. It's better to have the context than to miss a pattern or make a mistake.
ReferenceLoad When
InteractionTouch targets, navigation, layout, hierarchy, or gesture patterns
ContentEmpty states, writing copy, typography, or placeholder text
Visual DesignColors, materials, contrast, dark mode, or SF Symbols
AccessibilityVoiceOver, Dynamic Type, Reduce Motion, or accessibility labels
FeedbackAnimations, haptics, loading states, or error messages
PerformanceResponsiveness, system components, or app launch
PrivacyPermission requests, data handling, or privacy-sensitive APIs
只要有哪怕一丝可能需要用到相关内容,就务必加载参考文件。 拥有上下文总好过错过设计模式或犯错。
参考资料加载场景
交互触摸目标、导航、布局、层级或手势模式相关场景
内容空状态、文案撰写、排版或占位文本相关场景
视觉设计颜色、材质、对比度、深色模式或SF Symbols相关场景
无障碍VoiceOver、Dynamic Type、减少动效或无障碍标签相关场景
反馈动画、触觉反馈、加载状态或错误提示相关场景
性能响应速度、系统组件或应用启动相关场景
隐私权限请求、数据处理或隐私敏感API相关场景

Common Mistakes

常见错误

  1. Touch targets smaller than 44x44 points — Buttons and interactive elements must be at least 44x44 points (iOS) to accommodate thumbs. Smaller targets cause frustrated users and accessibility failures.
  2. Ignoring Dynamic Type constraints — Text with fixed sizes doesn't respect user accessibility settings. Use Dynamic Type sizes, test with Large or Extra Large settings, and avoid hardcoded font sizes.
  3. Insufficient color contrast in dark mode — Colors that work in light mode may fail accessibility in dark mode. Test with Reduce Contrast accessibility setting enabled for both modes.
  4. Over-animating transitions — Animations that feel smooth at 60fps can trigger motion sickness in users with vestibular issues. Respect Reduce Motion settings and keep animations under 300ms.
  5. Missing VoiceOver labels on custom controls — Custom buttons, toggles, or interactive views need
    .accessibilityLabel()
    and
    .accessibilityHint()
    or they're completely unusable to screen reader users.
  6. Haptic overuse — Every action does NOT need haptic feedback. Reserve haptics for confirmations (purchase, critical action) and errors. Excessive haptics are annoying and drain battery.
  1. 触摸目标小于44x44点 —— 按钮和交互元素在iOS上必须至少为44x44点,以适配拇指操作。过小的目标会导致用户操作受挫,且不符合无障碍要求。
  2. 忽略Dynamic Type限制 —— 固定大小的文本无法适配用户的无障碍设置。请使用Dynamic Type尺寸,在大号或特大号设置下进行测试,避免硬编码字体大小。
  3. 深色模式下颜色对比度不足 —— 在浅色模式下适用的颜色,在深色模式下可能无法满足无障碍要求。请在两种模式下都启用“降低对比度”无障碍设置进行测试。
  4. 过渡动画过度 —— 以60fps运行的流畅动画可能会引发前庭功能障碍用户的晕动症。请遵循“减少动效”设置,并将动画时长控制在300ms以内。
  5. 自定义控件缺少VoiceOver标签 —— 自定义按钮、开关或交互视图需要设置
    .accessibilityLabel()
    .accessibilityHint()
    ,否则屏幕阅读器用户将完全无法使用这些控件。
  6. 触觉反馈过度使用 —— 并非每一个操作都需要触觉反馈。请将触觉反馈保留用于确认操作(如购买、关键操作)和错误提示。过度的触觉反馈会让用户感到厌烦,还会消耗电量。