SuperAPI AI 工具集

iphone-duo-hinge-and-scenes

编程与开发

查看项目

更新于 10-16 05:07

技能介绍

用途:帮助开发者为 iPhone Duo 适配三类能力——响应铰链、参与 Split View 多任务、同时在两块屏幕上呈现 UI。

铰链:系统本身会随铰链角度变化(如壁纸缩放),应用可通过 SwiftUI 的 onHingeChange 或 UIKit 的 UIHingeInteraction 读取同一信号,获得粗略状态(closed、partially open、fully open)与实时连续角度。需注意框架差异:SwiftUI 角度为 Angle,UIKit 为弧度 CGFloat;SwiftUI 的 DeviceHinge.Status 是 struct(switch 需 default),UIKit 的 UIHinge.Status 是含 .unknown 的枚举。状态由系统根据角度与设备方向判定,不要自行用阈值重算;更新频率与精度由系统决定,不应假设固定频率。使用前应检查铰链是否为 nil(表示设备无铰链)以及设备是否处于关心的状态,并准备 else 分支重置效果,避免设备开平后效果滞留在旧值。铰链是适合连续响应的传感器式输入(如用折叠角度驱动弯音),不应据此做布局,布局应使用 arrangements 与 reserved regions。

Split View:所有应用都参与,两个应用并排,也可与画中画叠加。若应用已在 iPad 或 iPhone 镜像下支持缩放,基本接近完成;系统提供尺寸类与场景几何用于布局决策。需重点测试垂直排列的栏内容可能出现在应用任一侧,在 Device Hub 中把应用拖到两侧验证非对称安全区处理。

多场景:iPhone Duo 是首个支持应用 UI 多实例的 iPhone,若已支持 iPad 多窗口即可用。新行为:新窗口不能创建在外屏,只保留给内屏,且可用性随开合动态变化(iPad 无此情况)。因此请求新场景要处理失败,并优先使用 UIWindowSceneActivation,它在不可用时自动隐藏入口。

场景配件:把附加内容配对到另一块屏,非 Duo 专属,但 Duo 让每个用户都有两块屏。可用性由系统动态控制,默认启用且可随时开关,应观察可用性(observation tracking 或 onAvailabilityChange)并反映到 UI。CameraCaptureAccessory 适合相机应用:外屏显示 UI,内屏保留主 UI。条件为应用在内屏全屏且有活跃相机会话;在相机视图同一视图上注册(SwiftUI 用 sceneAccessory 修饰符),可配合工具栏开关并用 onAvailabilityChange 在不可用时禁用。相机方向等细节另见 iphone-duo-camera。

限制与说明:资料未提供价格、平台支持范围、具体版本要求等,暂未提供。