产品派
返回

iPhone Duo适配要求:iOS开发者需调整布局与摄像头逻辑

前端InfoQ 中文站2026/10/7 17:01:45
AI 导读

折叠屏iPhone Duo推出后,iOS应用需要同时适配外屏、展开后的内屏以及部分折叠状态,并处理导航栏、工具栏、摄像头和新增保留区域等变化。若要让应用充分使用设备屏幕空间,开发者应采用Xcode 27.1;使用旧版Xcode构建的应用,无法延伸到状态栏和摄像头区域下方。

开发者应分别检查应用在外屏、内屏、闭合、展开和部分折叠状态下的显示效果,并在每种形态中测试横竖屏切换。布局不应依赖固定屏幕尺寸或UIScreen.main.bounds,而应根据容器可用空间动态调整。SwiftUI堆栈、导航视图、分栏视图、标准标签栏以及UIKit Auto Layout都属于更适合的实现方式。

布局判断也不应主要依赖userInterfaceIdiom或UIInterfaceOrientation。应用应观察horizontalSizeClass和verticalSizeClass的变化,以适应不同屏幕尺寸和设备状态。由于工具栏、导航栏在部分形态下可能改为垂直排列,基于UIToolbar、UINavigationBar或UITabBar自行实现的界面可能出现错位。

对此,SwiftUI应用可为NavigationStack或NavigationSplitView使用toolbar(content:)修饰器;UIKit应用则应为已加入导航控制器的视图控制器配置工具栏项目,尽量采用系统提供的导航和工具栏API,以获得更稳定的多形态适配效果。

Duo还会引入与折痕、摄像头硬件遮挡相关的保留区域。系统提供的视图和容器通常会自动避开这些区域,但自定义视图需要主动识别分隔区域和遮挡区域。SwiftUI可调用reservedRegions(kind:options:layoutDirectionBehavior:),UIKit则可使用reservedRegions(kind:options:)获取相关信息。内屏前置摄像头启用时可能遮挡内容,外屏前置摄像头则始终会形成遮挡。

摄像头功能同样需要重新设计:设备能够使用外屏、内屏和后置摄像头拍摄照片或视频,开合与旋转动作都可能改变当前可用摄像头,应用应依据摄像头朝向选择合适设备。部分开发者认为苹果只提前约一个月通知,适配压力较大;也有人担心未来几个月愿意支持Duo的应用数量。iOS Dev Weekly编辑Juan Marin则表示,开发者过去已被反复提醒不要依赖UIScreen.main.bounds,而这款设备终于让这一问题暴露出来。

iPhone DuoiOS开发折叠屏适配SwiftUIXcode

本文基于公开渠道信息整理,内容可能存在不准确或遗漏之处,不代表本站立场,如内容涉及侵权或错误,请联系我们处理。

阅读原文