用途:帮助开发者在 SwiftUI 中构建响应容器空间、而非依赖设备假设的布局,适用于 iPhone/iPad 多任务、分屏、台前调度以及 iOS 26 自由窗口缩放场景。
主要能力:提供布局工具决策树与选型对照,覆盖按可用空间适配(ViewThatFits 选出首个放得下的变体、AnyLayout 做水平与垂直布局的动画切换、onGeometryChange 读取尺寸、Layout 协议实现自定义算法)、按平台特征适配(horizontalSizeClass、dynamicTypeSize、#if os())以及按窗口形状适配(几何计算阈值、NavigationSplitView、scenePhase)。同时给出 iPad 尺寸类真值表(仅在约 33% 分屏或 Slide Over 时为 compact)、iOS 26 自由窗口迁移清单(移除 UIRequiresFullScreen、测试任意窗口尺寸、避免缩放后布局“卡住”、补充菜单栏命令)与常见反模式(设备方向监听、UIScreen.main.bounds、设备型号判断、未约束的 GeometryReader、用尺寸类当作方向代理)。
使用方式:作为技能/规范在编码时参照。例如先用 ViewThatFits 在水平与垂直两种布局中取其一;需要动画切换或感知当前布局状态时改用 AnyLayout 加条件与环境值;需要实际宽高计算时用 onGeometryChange;仅在需要布局阶段几何信息或旧系统上使用 GeometryReader,并务必用 .frame() 约束。
限制:ViewThatFits 不暴露实际选中的变体,若其他视图需该状态应改用 AnyLayout;尺寸类粒度较粗,iPad 横竖屏均为 regular;文档未提供具体安装命令、价格与平台支持范围。