Apple 的准备指南列出 3 种 SDK 对 iPhone Duo 显示方式的差异:旧版 SDK、iOS 27 SDK 和 iOS 27.1 SDK。所以,遇到留白、裁切或错位时,先记录项目实际使用的 SDK,再用 Xcode 27.1 的 iPhone Duo 模拟器逐一复现展开、折叠和旋转状态;如果问题只在姿态变化后出现,优先检查固定屏幕尺寸或按方向切换布局的逻辑,不要先改设计稿尺寸。(Apple 的 iPhone Duo 准备指南)
谁该看这篇:UI 设计师,需要把 Figma 设计意图与原生界面逐项核对。
产品设计师,需要确认折叠、展开和旋转后,关键流程是否仍清楚、可操作。
项目或 QA 负责人,需要确认团队是否有 Mac 与 Xcode 环境,并划分模拟器和真机验收责任。
最后核验于 2026 年 10 月 26 日;版本信息依据 Apple 的 Xcode 27.1 发布记录,适配行为依据 Apple 的准备指南。 Xcode、iOS 或 macOS 更新后,复核指南和运行环境是否仍适用。
先对照 SDK,别把显示差异当成设计稿错误
项目采用的 SDK 会影响应用在 iPhone Duo 上的初始适配表现。Apple 指南说明,使用 iOS 27 SDK 构建的应用会扩展到内屏的大部分可用区域;使用 iOS 27.1 SDK 或更新版本,则会进一步使用完整显示区域,并可能让工具栏和标签栏改为垂直排列。使用较早 SDK 构建的应用仍可运行,但可能在内屏周围留下空白。(Apple 的 iPhone Duo 准备指南)
| 构建 SDK | 可能看到的现象 | 设计复核重点 |
|---|---|---|
| iOS 27 以前 | 应用可能以熟悉的窗口尺寸居中显示,周围有留白 | 留白可能来自旧 SDK 的适配方式,不足以证明稿件尺寸错误 |
| iOS 27 | 应用会随内屏扩展,但不一定铺满全部区域 | 核对主体位置和边缘空间,确认关键内容没有被挤出 |
| iOS 27.1 或更新版本 | 内容可使用更多显示区域,工具栏和标签栏可能垂直排列 | 重点检查按钮顺序、控件可触达性,以及文字或图片是否被遮挡 |
表格描述的是 SDK 相关的显示行为,不是对所有应用最终呈现效果的保证。Apple 也提醒,升级 SDK 后仍需检查应用内容是否适应新的栏位布局。
iPhone Duo 模拟器界面错位,拉伸或裁切该先检查什么?
先看错位是否随可用空间变化:如果画面在展开时拉伸、折叠后内容偏位,或宽屏下图片主体被切掉,优先检查布局是否固定读取主屏尺寸,以及图片是否使用铺满裁切;如果问题只落在工具栏、标签栏或按钮附近,再检查安全区域和栏位方向。Apple 指出,硬编码屏幕尺寸、固定设备方向等假设可能导致内容拉伸、裁切或位置异常。
| 可观察症状 | 优先排查 | 复核时看什么 |
|---|---|---|
| 展开后周围留白明显 | 项目构建 SDK | 留白是否与旧 SDK 的适配表现一致 |
| 折叠或展开后控件偏位 | 固定屏幕尺寸、一次性读取尺寸 | 姿态变化后,界面是否重新按当前空间布局 |
| 旋转后出现错误布局 | 根据设备方向选择布局的分支 | 实际可用宽高变化后,界面是否选择合适的排列 |
| 工具栏、按钮被挤压或遮挡 | 垂直栏位、安全区域、可用空间 | 主要操作是否完整可见且可触达 |
| 图片铺满后主体被切掉 | 图片填充方式与焦点位置 | 宽屏状态下主体是否仍留在画面内 |
这张表用于确定排查顺序,而不是直接替开发下结论。例如,背景图铺满边缘可以是预期设计,但主要按钮落入遮挡区域则是另一类问题;二者不能因为都发生在屏幕边缘,就归为同一个尺寸错误。
展开后布局不适配,检查可用尺寸,不只看设备方向
设备是横向还是纵向,并不总能说明应用实际获得的区域是什么形状。Apple 建议根据视图或窗口的可用宽高来决定布局;如果代码只看设备方向,就可能在折叠、展开或多任务区域变化后选错布局分支。UIKit 可检查 view.bounds,SwiftUI 可用 GeometryReader 获取容器尺寸。(UIView 的 bounds 文档)(GeometryReader 文档)
开发团队可先在项目中搜索常见的固定条件。下面的命令只用于定位可能相关的代码,不代表每个匹配项都是错误:
grep -R -nE 'UIScreen\.main|UIDevice\.current\.orientation|interfaceOrientation|statusBarOrientation' --include='*.swift' .
可能看到类似输出:
Sources/Layout.swift:18: let width = UIScreen.main.bounds.width
Sources/Panel.swift:42: if UIDevice.current.orientation.isLandscape { ... }
读到这类结果时,设计师可以把具体页面、复现姿态和错位位置交给开发逐项核对。Apple 建议避免用主屏尺寸决定应用区域大小,也不建议仅凭设备方向判断布局;在 UIKit 中,视图的 bounds 描述该视图自身坐标空间的位置与尺寸,SwiftUI 则可以按容器尺寸组织内容。
⚠️ 不要仅凭代码搜索结果要求开发“删除所有方向判断”。方向可能用于相机预览等特定功能;要确认的是,它是否被错误地当作界面可用形状的唯一依据。
第二步:检查栏位、安全区域和图片裁切
iOS 27.1 SDK 下,工具栏或标签栏可能转为垂直排列。设计复核时,不只要看控件有没有出现,还要确认主要操作仍然容易找到,文字没有被压缩,点击区域没有被系统界面挡住。Apple 的技术讲解建议让前景交互控件留在安全区域内,同时在不同配置下测试安全区域和边距;背景则可按设计需要延伸。(Apple 的 iPhone Duo 技术讲解)
图片或视频也要单独复核。全屏铺满在宽屏上可能裁掉主体;这不一定表示资源文件尺寸错了,可能是填充策略没有针对新比例调整。对照设计稿检查主体焦点、标题和交互控件:背景可以延伸,关键内容与操作必须仍然清楚。
| 检查对象 | 通过条件 | 未通过时记录 |
|---|---|---|
| 工具栏与标签栏 | 主要操作可辨认,顺序符合页面任务 | 哪个姿态下变成垂直排列、具体哪个操作难以找到 |
| 安全区域与按钮 | 关键控件不被系统界面遮挡,仍可操作 | 被遮挡的控件、位置及设备姿态 |
| 铺满图片或视频 | 主体没有因宽屏裁切而丢失 | 主体被切掉的区域及对应页面 |
| 文本与卡片 | 标题、正文、卡片内容未重叠或溢出 | 出问题的内容、内屏或外屏、构建 SDK |
第三步:按顺序复现,并把验收边界写进交接记录
- 确认运行环境。记录 Xcode 版本、项目构建 SDK,以及模拟器运行的系统版本。Xcode 27.1 于 2026 年 10 月 15 日发布;官方系统要求页面列明,Xcode 27.1 需要 macOS Tahoe 26.6 或更新版本。(Xcode 27.1 发布说明)
- 先跑代表性页面。选出最容易暴露问题的页面,例如含主要按钮、工具栏、长文本或大图的关键流程页;记录预期状态,不要只凭首页截图判断适配。
- 在 Device Hub 复现姿态。使用 Xcode 27.1 的 iPhone Duo 模拟器检查展开、折叠和旋转后的关键界面。Apple 的指南明确提到该模拟器和 Device Hub,可用于检查不同姿态。
- 逐屏记录差异。写明问题在哪个显示屏、哪种姿态、哪个页面出现,并附上 SDK 信息和截图;把“界面太挤”改成“展开后的内屏工具栏中,主要按钮被挤到第二行”这类可复现描述。
- 交给开发核对布局条件。优先检查固定屏幕尺寸、按设备方向选择布局、尺寸变化后是否重新布局,以及安全区域和栏位排列。
- 修复后重复同一组检查。用同样的页面、姿态和检查条件复测;再由负责真机验收的团队安排真实设备验证。
Apple 的通用运行说明提醒,模拟器运行在 Mac 上,并不能复现真实设备的全部性能或硬件特性;要验证应用是否在真实设备上按预期运行,还应使用真实设备。iPhone Duo 的专属模拟器适合检查布局和交互问题,但不应被描述成真机验收的替代品。可对照 在模拟设备或实体设备上运行应用的说明。
没有自己的 Mac,设计师怎么检查原生界面?
如果设计师手上只有 Windows 电脑,本地无法直接打开 Xcode 的 iPhone Duo 模拟器;Figma 原型可以核对设计意图,但不能代替应用实际运行时的原生界面复核。此时,团队可以安排有 Mac 的开发或 QA 同事提供复现与截图,也可以评估远程 Mac 环境,用 Xcode 模拟器检查代表性页面。Xcode 27.1 的官方要求包含 macOS 版本条件,选择环境前应先确认其能够满足项目需要。
| 方案 | 适合的工作 | 需要注意 |
|---|---|---|
| 由开发或 QA 在 Mac 上复核 | 设计师只需提交标记和验收记录 | 需协调时间,截图和反馈依赖团队交接 |
| 使用远程 Mac 运行 Xcode | 需要亲自查看模拟器、连续核对页面 | 先确认远程环境的 macOS 与 Xcode 条件,并用代表性项目验证 |
| 使用 Figma 原型或静态截图 | 早期讨论设计方向、页面结构 | 不能证明原生应用在不同姿态下布局和交互正常 |
| 真实设备验收 | 验证设备上的实际操作和硬件相关表现 | 应由团队明确安排,不能用模拟器画面代替 |
团队如果考虑远程 Mac,先看 NodeMini 的 Mac 环境入口,并根据项目需要核对 Mac 环境选择信息。下单或开始验收前,应确认可用的 macOS 版本、Xcode 运行条件和实际访问方式;本文不对具体环境配置或可用性作保证。
对于主要使用 Windows 的设计团队,继续只用 Figma 有三处实际限制:无法在本机运行 Xcode 模拟器;静态画面看不出折叠或展开时的动态布局变化;把检查交给开发后,设计师不一定能及时自行复现。若工作只是阶段性地检查 iPhone Duo 原生界面,租用 Mac 可作为减少硬件投入的一种选择;若团队长期高频开发、需要稳定控制设备或必须接入实体硬件,则应优先评估自购 Mac 或团队现有的真机方案。租用 Mac 可以提供一个运行 Xcode 的候选工作环境,但不能保证特定项目适配,也不能替代真实设备验收。
下一步先确认项目 SDK,再整理一份包含页面、姿态、问题截图和预期表现的复测记录;如果需要临时 Mac 环境,可通过 NodeMini 了解现有方案,并先用代表性项目确认能否完成所需的模拟器检查。