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

独立 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 体验。

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

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

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

相关推荐
传奇开心果编程18 小时前
【SwiftUI提高练中学】第9课 安全与隐私
swiftui·移动开发·swift·编程语言理论·开发范式·编程框架·声明式ui
CocoaKier20 小时前
苹果商店详情顶部头图已面向所有开发者开放!
ios·apple
茶底世界之下20 小时前
同一张街拍,两种表达:用 Awaking 试一次高对比黑白
ios
调试人生的显微镜1 天前
iOS开发入门:Interface Builder、基础控件及UITextField详解
后端·ios
茶底世界之下1 天前
动态切换 nearest / linear 时,为什么不能只替换 sampler
ios·swift
应用市场1 天前
把旧 Pixel 变成相册备份中转站(上):Mac 到安卓的照片传输工具设计——流式上传、sha256 校验、adb forward 与 Bonjour
android·macos·adb·kotlin·swift
传奇开心果编程1 天前
【声明式UI开发实用技术学与练】第8课 状态提升与下放
学习·flutter·react native·ui·swiftui·composer
东坡肘子1 天前
Swift Server,又多了一个 Google -- 肘子的 Swift 周报 #156
人工智能·swiftui·swift
传奇开心果编程2 天前
【Compose Multiplatform 跨端开发学与练】第7课 平台适配与互操作
android·windows·学习·ui·ios·kotlin·composer
打工仔折腾 AI2 天前
从零写一个CAD 05:以鼠标为中心的滚轮缩放,招法能复用但顺序不能反
开发语言·后端·python·性能优化·计算机外设·swift·ai agent 实战