用途:在 macOS 26+ 上用 SwiftUI 构建偏好设置面板、检查器、配置界面和设置视图,遵循 Liquid Glass 设计语言。
主要能力与结构:采用双层架构——玻璃层用于工具栏、侧边栏、检查器外壳和分区容器等结构性区域;内容层用于表单行和字段,保持实色/中性。玻璃只用于浮在内容之上的导航/控制层,不铺满所有输入控件。
关键用法:macOS 26 只有一个玻璃修饰符 glassEffect(_:in:),作为 .background {} 应用于 RoundedRectangle 做分区容器;特殊卡片或标注在 ZStack 中使用(较少见)。glassBackgroundEffect(displayMode:) 仅限 visionOS,在 macOS 上无法编译。
默认布局:使用 Grid + FormRow,labelWidth 按最长标签设定,仅极简的系统设置式列表回退到 Form。FormRow 用右对齐标签列加内容列,内容列用 .frame(maxWidth: .infinity, alignment: .leading) 保证 Picker、Toggle 等固有尺寸控件左对齐一致。
控件尺寸:外层容器用 .frame(maxWidth: 760) 限制整体宽度;文本框不加 maxWidth,填满整行;Picker 用 .fixedSize(),默认 .pickerStyle(.menu);数值字段固定 70-120;Toggle 用 .labelsHidden()。不要在文本框或 Picker 上加 maxWidth。标签宽度按最长标签取值,短标签约 90,中等约 100-120,长标签约 160+。
多平台:同一文件同时支持 iOS 与 macOS 时,平台专属的计算属性也要用 #if os() 包裹,因为编译器会类型检查所有计算属性,iOS 专属修饰符如 navigationBarTitleDisplayMode 在 macOS 上会失败。共享组件应输出平台自适应内容。
校验:错误信息内联显示在字段列下方并缩进,主操作在有效前禁用。
限制:仅面向 macOS 26+ 与对应 SwiftUI API;visionOS 专属玻璃 API 不适用于 macOS。资料未提供价格、安装命令及具体发布信息。