独立 App 首发完成 iPhone Duo 展开态适配

0 阅读4分钟

在这里插入图片描述

独立 App 首发完成 iPhone Duo 展开态适配

iPhone Duo 带来了新的屏幕形态,也给效率类 App 提出了一个很直接的问题:当一台 iPhone 展开后,界面是否还能只按传统单列手机来设计?

在这里插入图片描述

PandaCounter 在第一时间完成了针对 iPhone Duo 展开态的适配。

在这里插入图片描述

目标很明确:让更大的屏幕真正服务于计时、计数和统计,而不是简单把原来的手机界面拉宽。

为什么要快速适配

在这里插入图片描述

PandaCounter 的主流程高度依赖列表:用户会频繁浏览计时器、开始或暂停任务、记录计数、按分类切换视图,并查看统计结果。对这类应用来说,展开态设备最宝贵的不是“更大”,而是“能同时看见更多有用信息”。

在这里插入图片描述

因此,这次适配优先处理最核心的使用路径:

场景适配重点用户收益
计时器列表Duo 展开态双列卡片同屏浏览更多计时任务
计数器列表展开态双列卡片降低滚动频率
详情与统计更充分利用横向空间信息结构更清晰
普通 iPhone保持原单列界面不影响既有体验

iPhone Duo:展开后就是新的工作台

在这里插入图片描述

在 iPhone Duo 展开态下,PandaCounter 会识别 regular/regular 尺寸组合,并启用更适合宽屏的布局。

在这里插入图片描述

计时器列表从传统单列切换为双列卡片,运行中的分组仍然保留高优先级展示,普通计时器则以更紧凑的卡片形式铺开。

在这里插入图片描述

这个变化看起来直接,但背后有一个原则:只改变排布,不改变任务流。用户仍然可以按原来的方式开始计时、暂停、停止、置顶,或者把任务加入灵动岛。

在这里插入图片描述

不让普通 iPhone 为新设备买单

适配 iPhone Duo 的同时,PandaCounter 没有牺牲普通 iPhone 的稳定性。iPhone 18 Pro 等常规机型继续使用原来的单列列表,不会因为 Duo 适配而改变导航节奏、卡片宽度或列表交互。

在这里插入图片描述

这是这次适配里最重要的工程边界:新设备获得新布局,旧设备保持原体验。

速度之外,更要守住交互一致性

为了尽快完成首发适配,我们没有重写整套界面,而是把变化集中在尺寸条件明确的布局分支里。Duo 展开态使用 ScrollView + LazyVGrid 承载双列卡片;普通 iPhone 和编辑模式继续使用原来的 List

在这里插入图片描述

SwiftUI 27 的 swipeActionsContainer() 也被用于补齐自定义滚动容器里的滑动操作,让双列卡片拥有和单列列表一致的交互。

在这里插入图片描述

交互Duo 展开态普通 iPhone
右滑操作置顶、子任务、开始、暂停、恢复、停止保持一致
左滑操作加入或移除灵动岛保持一致
编辑模式回到系统 List保持一致
布局密度双列单列

这让适配速度和可靠性之间取得了平衡:用户能立刻感受到 Duo 展开态的优势,同时不会遇到一套陌生的操作逻辑。

在这里插入图片描述

工程策略

这次适配遵循几个简单原则:

  • 用 Size Class 判断展开态,而不是硬编码设备型号。
  • 只在宽屏条件下启用双列布局。
  • 复用已有滑动按钮和业务逻辑。
  • 编辑、删除、移动等系统行为继续交给 List
  • 普通 iPhone 的布局路径保持不变。

在这里插入图片描述

这种做法让 PandaCounter 可以快速跟进新硬件,同时把回归风险控制在较小范围内。

在这里插入图片描述

小结

iPhone Duo 对效率类 App 是一次很好的提醒:新的屏幕形态不只是适配分辨率,更是重新审视信息密度和操作路径的机会。

PandaCounter 已经完成首发级 iPhone Duo 展开态适配。更宽的屏幕用于承载更多任务卡片,更稳定的条件分支用于保护普通 iPhone 体验。

对一个每天被反复打开的工具来说,这比视觉上的“大改版”更重要。

那么,看到这里小伙伴们学会了吗?

感谢观赏,我们下次不见不散!😯