用途:该技能用于按窗口职责定制 macOS SwiftUI 窗口,先确定窗口所属场景(Window、WindowGroup 或专用工具场景),再调整工具栏/标题区、背景材质、缩放与恢复行为、初始及缩放位置。
主要能力:可用 .toolbar(removing: .title) 隐藏标题但保留逻辑标题;用 .toolbarBackgroundVisibility(.hidden, for: .windowToolbar) 隐藏工具栏背景;用 .toolbarVisibility(.hidden, for: .windowToolbar) 整体隐藏工具栏。隐藏工具栏后可用 WindowDragGesture() 扩展拖拽区域,并配合 .allowsWindowActivationEvents(true)。可用 .containerBackground(.thickMaterial, for: .window) 设置窗口材质。窗口行为方面支持 .windowMinimizeBehavior(.disabled)、.restorationBehavior(.disabled)、.defaultLaunchBehavior(.presented)。位置控制使用 .defaultWindowPlacement 与 .windowIdealPlacement,配合 content.sizeThatFits(.unspecified) 和 context.defaultDisplay.visibleRect。无边框窗口可用 .windowStyle(.plain)。
使用方式:先检查场景声明并分类窗口角色,再调整工具栏与标题呈现,确保隐藏工具栏后仍有可用拖拽区域,然后设置最小化、恢复、缩放与启动行为,最后用 build-run-debug 在真实 .app 中验证。若 SwiftUI 修饰符不足,可转用 appkit-interop 做窄范围 NSWindow 桥接。
适用场景:主浏览窗口、检查器/详情工具窗口、关于/支持窗口、媒体播放窗口、欢迎窗口及无边框自定义界面。
限制:这些 API 属于 macOS 15+ SwiftUI 窗口/场景定制,旧部署目标需更多 AppKit 桥接或可用性判断。不要为隐藏忘记设置的标题而使用 removing: .title;不要隐藏工具栏背景或整个工具栏却不补拖拽区域;不要在主文档/导航窗口上禁用恢复,除非用户明确要求每次全新启动;不要硬编码单一显示器尺寸。相关示例见 references/api-snippets.md。