iOS人机界面指南设计技能Skill ios-hig-design

本技能基于苹果的人机界面指南,专注于设计原生iOS应用界面,确保应用直观、一致且符合苹果设计标准。涵盖布局、排版、颜色、导航、控件、无障碍性、图标和手势,并强调深色模式支持和动态类型适配。适用于移动应用开发,使用SwiftUI和UIKit框架。关键词:iOS设计、人机界面指南、移动应用开发、SwiftUI、UIKit、无障碍设计、深色模式、动态类型、苹果HIG。

移动开发 0 次安装 0 次浏览 更新于 3/22/2026

名称: ios-hig-design 描述: ‘基于苹果人机界面指南的原生iOS应用设计框架。在以下情况下使用:(1) 设计遵循苹果规范的iPhone/iPad界面,(2) 构建感觉原生的SwiftUI/UIKit组件,(3) 实现导航模式,(4) 确保无障碍合规,(5) 处理安全区域和动态岛,(6) 根据HIG标准验证设计。’ 许可证: MIT 元数据: 作者: wondelai 版本: “1.1.0”

iOS人机界面指南设计技能

用于设计原生iOS应用界面的框架,确保界面直观、一致且符合苹果的设计哲学。基于苹果的人机界面指南,这是构建与iPhone、iPad及更广泛苹果生态系统无缝集成的应用的权威资源。

核心理念

苹果的iOS设计哲学基于三大支柱:清晰度、尊让和深度。每个元素必须清晰可读且有目的(清晰度)。界面不应遮蔽其所呈现的内容(尊让)。层次、过渡和逼真动效应提供结构和空间关系(深度)。

基础: 最佳的iOS应用不仅机械遵循HIG规则,而是内化了界面服务于用户内容和任务的理念。原生组件、系统惯例和平台一致性不是约束,而是iOS用户信任并喜欢感觉归属的应用的原因。

评分

目标:10/10。 在审查或创建iOS界面或SwiftUI/UIKit代码时,基于对以下原则的遵守程度进行0-10分评分。10/10表示完全符合所有指南;较低分数表示需要解决的差距。始终提供当前分数和达到10/10所需的具体改进。

iOS设计框架

1. 布局与安全区域

核心概念: iOS设备有特定屏幕尺寸、安全区域插入和硬件侵入(刘海、动态岛、主指示器),这些必须在每个布局中得到尊重。

为什么有效: 当布局尊重安全区域和标准间距时,应用感觉原生且可信赖。用户永远不会让内容隐藏在硬件功能或系统UI后,视觉节奏与平台其他部分匹配。

关键见解:

  • 首先为最小屏幕设计(iPhone SE宽度375pt)
  • 安全区域保护内容免受硬件功能影响——切勿将交互元素置于刘海、动态岛或主指示器下
  • 标准内容边距为屏幕边缘16-20pt
  • 最小触摸目标尺寸为44 x 44pt
  • 列表行最小高度为44pt
  • 标准间距增量:8 / 16 / 24pt

产品应用:

上下文 布局模式 示例
状态栏 高度59pt,始终尊重 时间、信号、电池区域
导航栏 44pt标准行 + 58pt大标题 返回按钮、标题、操作
内容区域 灵活、可滚动、尊重安全区域 主要应用内容
标签栏 高度49pt,半透明带模糊 2-5个主要目的地
主指示器 底部插入34pt 系统手势区域

复制模式:

  • 使用默认尊重安全区域的 VStack { }
  • 仅对背景和装饰元素使用 .ignoresSafeArea(),切勿用于交互内容
  • 始终在多个设备尺寸上测试,包括iPhone SE和Pro Max

道德边界: 切勿将关键内容或控件隐藏在硬件侵入后。任何设备的用户都应平等访问所有功能。

参见:references/navigation.md 获取详细导航栏和标签栏规范。

2. 排版与动态类型

核心概念: iOS使用San Francisco(SF Pro)字体,带有语义文本样式系统,通过动态类型自动缩放以适应无障碍需求。

为什么有效: 语义文本样式在平台间创建一致的视觉层次。动态类型确保每个用户——包括视觉障碍者——可以在首选大小下阅读内容而不会破坏布局。

关键见解:

  • 大标题:34pt粗体;标题:17pt中粗体;正文:17pt常规
  • 次要文本:15pt常规,60%不透明度;标题:12-13pt
  • 最小文本大小为11pt(仅用于标题/次要信息)
  • 正文文本行高最小为字体大小的1.3倍
  • 移动设备上最佳行长度:每行35-50字符
  • 始终使用左对齐、非对齐文本
  • 最小对比度比:4.5:1(WCAG AA)

产品应用:

上下文 排版模式 示例
屏幕标题 .largeTitle.title 样式 大标题在滚动时折叠
正文内容 .body 样式,17pt 列表项、描述
次要信息 .subheadline.footnote 时间戳、元数据
标签栏标签 10pt SF文本 标签栏项目标签
按钮 .body 粗细半粗体 主要操作文本

复制模式:

  • 使用 .font(.title).font(.body).font(.caption) 代替硬编码大小
  • 首选重量和颜色变化而非极端大小差异来建立层次
  • 在所有布局中测试最大动态类型大小以确保无破坏
  • 使用 @ScaledMetric 用于随动态类型缩放的自定义间距

道德边界: 切勿禁用动态类型或设置固定字体大小以防止无障碍缩放。每个用户都应获得可读文本。

参见:references/typography.md 获取完整文本样式、字体大小和深色模式排版规则。

3. 颜色与深色模式

核心概念: iOS提供语义系统颜色,自动适应浅色和深色外观,确保两种模式中的正确对比度和视觉层次。

为什么有效: 语义颜色无需手动干预即可维持外观间的可读性和层次。偏好深色模式的用户获得一流体验,支持两种模式的应用感觉精致且原生。

关键见解:

  • 使用 Color(.label)Color(.secondaryLabel)Color(.systemBackground) 代替硬编码颜色
  • Color(.systemBlue) 是默认色调/强调色;.systemRed 用于破坏性操作;.systemGreen 用于成功
  • 深色模式反转文本颜色(深到浅)并调暗背景,同时保持相对层次
  • 深色模式中的强调色需要较低亮度和较高饱和度以突出
  • 始终在开发期间预览两种模式
  • 在浅色和深色中维持4.5:1对比度比

产品应用:

上下文 颜色模式 示例
主要文本 Color(.label) 根据模式自适应为白色/黑色
次要文本 Color(.secondaryLabel) 两种模式中60%不透明度
背景 Color(.systemBackground) / .secondarySystemBackground 分层深度
破坏性操作 Color(.systemRed) 删除按钮、警告
交互色调 应用强调色或 .systemBlue 链接、切换状态

复制模式:

  • 在预览中使用 .preferredColorScheme(.light).dark 以并排测试两种模式
  • 在资产目录中定义具有浅/深变体的自定义颜色,而不是在代码中
  • 切勿假设背景是白色或黑色——始终使用语义颜色
  • 启用增加对比度无障碍设置进行测试

道德边界: 深色模式不是可选的修饰——用户期望它。切勿发布在深色模式下不可读或破损的应用。

参见:references/colors-depth.md 获取语义颜色、深色模式调色板和对比度比指南。

4. 导航模式

核心概念: iOS使用分层导航模型,标签栏用于主要目的地,导航栈用于层次化深入,模态用于专注任务。

为什么有效: 一致的导航模式意味着用户始终知道他们所处位置、如何到达以及如何返回。违反这些模式会造成困惑,使应用在iOS上感觉陌生。

关键见解:

  • 标签栏:2-5个主要目的地,始终可见,每个标签记住状态
  • 导航栏:返回按钮(左上)、标题(中心或大)、操作(右上)
  • 大标题在滚动时平滑动画折叠为紧凑标题
  • 模态用于专注任务;通过下拉滑动手势或显式关闭按钮解除
  • 切勿使用汉堡菜单——iOS用户期望标签栏
  • 搜索栏可出现在导航栏下,隐藏直到下拉

产品应用:

上下文 导航模式 示例
应用结构 带3-5个标签的标签栏 首页、搜索、个人资料
内容层次 推送导航(深入) 列表 > 详情 > 编辑
专注任务 模态呈现 撰写、设置、筛选
搜索 下拉搜索栏 Spotlight风格搜索
拆分视图 iPad侧边栏 + 详情 iPad上的邮件、笔记

复制模式:

  • 返回按钮文本应为前一个屏幕的标题,而非“返回”
  • 标签标签应为单个词:“首页”、“搜索”、“个人资料”
  • 模态标题应描述任务:“新消息”、“编辑个人资料”
  • 在SwiftUI中使用 NavigationStack(非弃用的 NavigationView

道德边界: 切勿在无清晰退出的流程中困住用户。每个屏幕必须有明显的返回或解除方式。

参见:references/navigation.md 获取标签栏、导航栏、模态、搜索模式和拆分视图。

5. 控件与输入

核心概念: iOS提供丰富的原生控件库(按钮、列表、切换、选择器、菜单、文本字段),用户已理解并期望。

为什么有效: 原生控件附带内置无障碍、触觉反馈和交互模式,用户已学习。自定义控件创建摩擦,常错过苹果已解决的边缘情况。

关键见解:

  • 页面级操作放在导航栏(顶部)或操作栏(底部)
  • 主要按钮填充主题色;次要为轮廓或仅文本
  • 破坏性操作使用红色并要求不可逆操作的确认
  • 列表(表视图)是基本iOS内容模式
  • 匹配键盘类型到预期输入(.emailAddress.phonePad.URL
  • 使用 .textContentType 以支持自动填充(电子邮件、密码、地址)

产品应用:

上下文 控件模式 示例
表单 带适当键盘类型的原生文本字段 带@键盘的电子邮件字段
设置 带切换、披露的分组列表 iOS设置样式
选择 选择器、分段控件或操作表 日期选择器、排序选项
破坏性操作 红色按钮 + 确认警报 “删除账户”流程
上下文操作 长按菜单或滑动手势 行上的编辑、分享、删除

复制模式:

  • 一起使用 .keyboardType(.emailAddress).textContentType(.emailAddress)
  • 首选系统警报进行确认:.alert().confirmationDialog()
  • 在列表行上使用 .swipeActions 用于常见操作
  • 将主要操作按钮放在屏幕底部拇指可及范围内

道德边界: 切勿将广告伪装成原生控件或使破坏性操作太易意外触发。确认对话框有其存在原因。

参见:references/components.md 获取按钮、列表、输入控件、菜单和确认对话框。另见:references/keyboard-input.md 获取键盘类型和输入模式。

6. 无障碍性

核心概念: iOS具有世界级无障碍功能(VoiceOver、动态类型、切换控制、语音控制),每个应用必须作为首要考虑支持它们,而非事后思考。

为什么有效: 无障碍不是可选的——它由应用商店指南和道德设计实践要求。全球超过10亿人患有某种形式的残疾。无障碍应用也惠及所有用户(阳光下较大文本、驾驶时VoiceOver)。

关键见解:

  • 每个交互元素都需要 .accessibilityLabel 描述其是什么
  • 使用 .accessibilityValue 表示当前状态和 .accessibilityHint 表示其作用
  • .accessibilityElement(children: .combine) 分组相关元素
  • 支持所有大小的动态类型——在最大设置下测试
  • 最小触摸目标:44 x 44pt
  • 最小对比度比:文本4.5:1(WCAG AA)
  • 切勿仅通过颜色传达意义

产品应用:

上下文 无障碍模式 示例
图标 .accessibilityLabel("收藏") 带标签的心形图标
滑块 .accessibilityValue("\(Int(volume * 100))%") 音量控制
按钮 .accessibilityHint("分享此项目") 分享按钮
分组 .accessibilityElement(children: .combine) 头像 + 名称行
图像 装饰性:.accessibilityHidden(true) 背景图案

复制模式:

  • 编写无障碍标签为名词:“收藏”、“设置”、“关闭”
  • 编写提示为动作:“与他人分享此项目”、“打开设置”
  • 仅使用VoiceOver测试完整应用流程
  • 在Xcode中使用无障碍检查器审核对比度和标签

道德边界: 无障碍不是锦上添花。发布无障碍应用排除真实人群。将VoiceOver测试与视觉测试同等重视。

参见:references/accessibility.md 获取VoiceOver实现、动态类型支持和无障碍清单。

7. 图标与图像

核心概念: iOS使用SF Symbols作为标准图标系统,并要求特定尺寸的应用图标,自动应用签名超椭圆(“圆角矩形”)蒙版。

为什么有效: SF Symbols设计为完美对齐San Francisco文本,随动态类型缩放,并适应不同重量和大小。一致的图标系统使界面感觉凝聚且原生。

关键见解:

  • 对所有标准图标使用SF Symbols(Image(systemName:))——它们随文本缩放
  • 应用图标:导出为1024x1024像素方形;iOS自动应用圆角矩形蒙版
  • 图标圆角半径公式:边长 x 0.222,61%角平滑
  • iOS 18+支持浅色、深色和色调图标变体
  • 避免应用图标中包含文本——缩放效果不佳
  • 保持图标设计简单,具有可识别的轮廓

产品应用:

上下文 图标模式 示例
标签栏 SF Symbols,选中时为填充变体 house.fillmagnifyingglass
导航栏 SF Symbols,常规重量 gearplusellipsis
列表配件 SF Symbols,次要颜色 chevron.rightcheckmark
应用图标 1024像素方形,简单粗体设计 单个可识别符号
小部件 SF Symbols匹配小部件样式 与应用品牌一致

复制模式:

  • 使用 Image(systemName: "heart.fill") 用于SF Symbols
  • 应用 .symbolRenderingMode(.hierarchical) 用于多颜色深度
  • 使用 .imageScale(.large).font() 根据文本调整符号大小
  • 在SF Symbols应用(苹果免费提供)中浏览可用符号

道德边界: 切勿使用误导性图标暗示不存在功能。图标含义应匹配iOS惯例(例如,垃圾桶 = 删除,非归档)。

参见:references/app-icons.md 获取图标大小表、形状规范和设计指南。

8. 手势与触觉反馈

核心概念: iOS定义标准手势(滑动返回、下拉刷新、长按上下文菜单)和触觉反馈模式,必须尊重且切勿覆盖。

为什么有效: 手势是肌肉记忆。当应用覆盖滑动返回手势或重用下拉刷新时,用户感到迷失和沮丧。触觉提供动作已注册的隐形确认,减少不确定性。

关键见解:

  • 切勿覆盖:从边缘向右滑动(返回)、在模态上向下滑动(解除)、在列表上向下拉(刷新)
  • 在行上向左滑动揭示动作(删除、归档等)
  • 长按显示上下文菜单
  • 在图像和地图上预期捏合缩放
  • 使用三种触觉类型:冲击(物理动作)、通知(结果)、选择(UI变化)
  • 触觉应微妙且有意义——切勿持续或烦人

产品应用:

上下文 手势/触觉模式 示例
导航 从左边边缘向右滑动 系统返回手势
模态 向下滑动解除 表单解除
列表 下拉刷新、滑动动作 刷新内容、删除行
媒体 捏合缩放、双击 照片查看器
确认 完成时 .success 触觉 付款确认
选择 切换/选择时选择触觉 选择器滚轮滚动

复制模式:

  • 使用 UIImpactFeedbackGenerator(style: .medium) 用于物理交互
  • 使用 UINotificationFeedbackGenerator().success.warning.error 用于结果
  • 使用 UISelectionFeedbackGenerator() 用于UI状态变化
  • 在触发触觉前调用 .prepare() 以最小化延迟

道德边界: 切勿使用激进触觉胁迫用户行动。触觉反馈应确认,非胁迫。

参见:references/gestures.md 获取标准手势表、触觉反馈模式和动画指南。

常见错误

错误 为什么失败 修复
覆盖标准手势 用户期望全局滑动返回、下拉刷新;覆盖破坏肌肉记忆 使用系统手势用于其预期目的;仅添加自定义手势用于补充动作
触摸目标小于44pt 小目标导致误点击,尤其对无障碍需求用户,使他们沮丧 确保所有交互元素至少44 x 44pt
忽略安全区域 内容隐藏在刘海、动态岛或主指示器后 始终尊重安全区域插入;仅对背景使用 .ignoresSafeArea()
在iOS上使用Android模式 汉堡菜单、顶部标签栏、Material风格浮动操作按钮感觉陌生 使用标签栏用于主要导航、底部表单、原生iOS组件
跳过深色模式 偏好深色模式的用户看到破损布局、不可读文本 使用语义颜色;测试两种外观;定义浅/深颜色对
硬编码字体大小 破坏动态类型,排除需要较大文本的用户 在整个应用中使用语义文本样式(.title.body.caption
低对比度文本 违反WCAG AA,在阳光下或对低视力用户不可读 维持4.5:1最小对比度比;启用增加对比度设置测试
不在真实设备上测试 模拟器遗漏性能、触觉反馈、安全区域边缘情况 在物理设备上测试,尤其最小和最大屏幕尺寸

快速诊断

审核任何iOS界面设计:

问题 如果否 行动
布局在所有设备尺寸上是否尊重安全区域? 内容可能隐藏在硬件功能后 在iPhone SE和Pro Max上审核所有屏幕;修复安全区域插入
所有触摸目标是否至少44 x 44pt? 用户会误点击,尤其对无障碍需求 增加点击区域;使用 .frame(minWidth: 44, minHeight: 44)
应用在深色模式下是否完全工作? 深色模式用户看到破损/不可读UI 用语义系统颜色替换硬编码颜色
文本是否随动态类型正确缩放? 无障碍违规;排除低视力用户 用语义文本样式替换固定字体大小;在最大设置下测试
VoiceOver用户能否完成每个任务? 应用对盲人和低视力用户不可访问 向所有交互元素添加无障碍标签、值、提示
导航模式是否原生iOS? 应用感觉陌生;用户难以导航 用标签栏替换汉堡菜单;使用标准推送/模态导航

参考文件

进一步阅读

本技能基于苹果的人机界面指南,这是所有苹果平台的官方设计文档。获取完整指南、平台特定指导和最新更新:

关于作者

苹果人机界面指南 由苹果的人机界面设计团队作者和维护,这是科技领域最有影响力的设计组织之一。HIG可追溯至1984年,当时苹果发布了原版《Macintosh人机界面指南》,伴随第一台Macintosh电脑的推出。该文件确立了直接操作、所见即所得、一致性、用户控制等原则,这些原则定义了几十年的图形用户界面设计。在设计领导者如杰夫·拉斯金、布鲁斯·托格纳兹尼及后来的乔尼·艾夫和艾伦·戴伊的领导下,苹果的设计哲学通过Mac OS、iPhone(2007)、iPad(2010)、Apple Watch(2015)和Apple Vision Pro(2024)不断演化。HIG持续更新以反映新交互范式——从鼠标到多点触控再到空间计算——同时维持技术应直观、可访问且愉悦的核心信念。如今,HIG免费提供于developer.apple.com,仍是任何在苹果平台构建应用者的基本参考。