SuperAPI AI 工具集

macos-settings-ui

编程与开发

查看项目

更新于 10-15 21:41

技能介绍

用途:该技能指导为 macOS 应用创建原生设置(偏好)窗口,目标为遵循 Apple macOS 26(Tahoe)设计规范,特别是液态玻璃(liquid glass)窗口外观。适用于用户要求创建设置窗口的场景。

主要能力与结构:设置界面由三层组成:窗口控制器(SettingsWindowController.swift)用 NSWindowController 以 .fullSizeContentView 程序化创建窗口,从而获得圆角液态玻璃外观;根视图(SettingsView.swift)为 NavigationSplitView,含侧边栏列表与详情面板,工具栏提供后退/前进导航历史,并因此需要创建 NSToolbar;详情面板每个标签页一个文件,使用 Form、Section 与 .formStyle(.grouped)。

关键修饰符:每个详情面板的 Form 必须带 .formStyle(.grouped)、.scrollContentBackground(.hidden) 和 .contentMargins(.top, 8, for: .scrollContent)。侧边栏 List 使用 .listStyle(.sidebar)、.scrollEdgeEffectStyleSoftIfAvailable() 与 .navigationTitle("Settings")。NavigationSplitView 使用 columnVisibility: .constant(.all) 与 .navigationSplitViewStyle(.balanced)。

用法:定义 SettingsTab 枚举(含标题与 SF Symbol);复制并适配 SettingsWindowController.swift(内容尺寸默认 700x540、最小 620x460、激活策略调用);复制并适配 SettingsView.swift;为每个标签创建详情面板;通过 SettingsWindowController.show(tab: .general) 打开设置,不使用 SwiftUI Window 场景或 openWindow(id:)。

限制:液态玻璃效果必须由 NSWindowController 在窗口创建时设置 .fullSizeContentView,SwiftUI Window 场景无法实现,事后注入不可靠。scrollEdgeEffectStyle(.soft) 仅 macOS 26+,需用 #available 包裹;其余模式(NSWindowController + grouped Form + NavigationSplitView)可在 macOS 14+ 运行。菜单栏常驻应用需实现 AppActivationPolicy 引用计数以在显示设置时进入前台。