mcpField
A
axiom-liquid-glass-ref

axiom-liquid-glass-ref

github.com/charleswiltgen设计与 UI1.2k193 次安装今天更新
代码仓库

关于 axiom-liquid-glass-ref

axiom-liquid-glass-ref 是面向 Apple 平台应用的 Liquid Glass 采用参考技能,涵盖界面审查、无障碍、导航、控件和分层应用图标。

主要功能

  1. 01Liquid Glass 采用与迁移指南
  2. 02系统组件更新审查
  3. 03无障碍设置检查
  4. 04使用 Icon Composer 设计分层图标
  5. 05导航、菜单与控件指南

适用场景

  1. 01采用 Liquid Glass 前审查应用
  2. 02查找影响系统材质的自定义背景
  3. 03检查无障碍设置下的可读性
  4. 04准备分层应用图标资源

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/charleswiltgen/axiom --skill axiom-liquid-glass-ref

安装后在 Claude Code 中输入/axiom-liquid-glass-ref确认已加载。

详细介绍

Liquid Glass 采用指南

何时使用此技能

适用于:

  • 规划在整个应用中全面采用 Liquid Glass
  • 审核现有界面是否兼容 Liquid Glass
  • 使用 Icon Composer 更新应用图标
  • 了解 Liquid Glass 在特定平台上的行为(iOS、iPadOS、macOS、tvOS、watchOS)
  • 从以前使用的材质(模糊效果、自定义半透明效果)迁移
  • 确保 Liquid Glass 界面符合无障碍要求
  • 审查搜索、导航或组织类组件的更新
相关技能
  • 使用 axiom-liquid-glass 实现 Liquid Glass 材质本身,并处理设计评审压力场景
  • 使用 axiom-swiftui-performance 分析 Liquid Glass 渲染性能
  • 使用 axiom-accessibility-diag 进行无障碍测试

概述

采用 Liquid Glass 并不意味着要从头重做应用。首先,使用最新版本的 Xcode 构建应用,查看发生的变化。如果应用使用 SwiftUI、UIKit 或 AppKit 的标准组件,那么在最新平台版本上,界面会自动采用最新的外观与体验。

关键采用策略
  1. 使用最新的 Xcode SDK 构建
  2. 在最新平台版本上运行
  3. 参照本指南检查变化
  4. 逐步采用最佳实践

视觉焕新

自动发生的变化
标准组件采用 Liquid Glass
  • 导航栏、标签栏、工具栏
  • 工作表、弹出框、操作表
  • 按钮、滑块、开关和控件
  • 侧边栏、分栏视图、菜单
工作原理
  • Liquid Glass 将玻璃的光学特性与流动感相结合
  • 为控件和导航形成独立的功能层
  • 根据重叠、焦点状态和环境进行调整
  • 帮助用户聚焦于底层内容
善用系统框架
✅ 应该:使用标准组件

SwiftUI、UIKit 和 AppKit 中的标准组件只需极少的代码改动,就能自动采用 Liquid Glass。

// ✅ Standard components get Liquid Glass automatically
NavigationView {
    List(items) { item in
        Text(item.name)
    }
    .toolbar {
        ToolbarItem {
            Button("Add") { }
        }
    }
}
// Recompile with Xcode 26 → Liquid Glass applied
❌ 不应该:使用自定义背景覆盖
// ❌ Custom backgrounds interfere with Liquid Glass
NavigationView { }
    .background(Color.blue.opacity(0.5)) // Breaks Liquid Glass effects
    .toolbar {
        ToolbarItem { }
            .background(LinearGradient(...)) // Overlays system effects
    }
审查内容
  • 分栏视图
  • 标签栏
  • 工具栏
  • 导航栏
  • 任何具有自定义背景或外观的组件

解决方案 移除自定义效果,让系统决定背景外观。

使用无障碍设置进行测试

Liquid Glass 会进行相应调整:降低透明度(呈现更明显的磨砂效果)、增强对比度(采用黑白边框)、减少动态效果(不显示弹性动画)。请验证每种设置下的内容都清晰可读,并确保自定义元素提供备用体验。有关详细的无障碍测试工作流,请参阅 axiom-liquid-glass 专项技能。

app.launchArguments += ["-UIAccessibilityIsReduceTransparencyEnabled", "1",
    "-UIAccessibilityButtonShapesEnabled", "1", "-UIAccessibilityIsReduceMotionEnabled", "1"]
避免过度使用 Liquid Glass

Liquid Glass 会让用户注意到底层内容。在多个自定义控件上过度使用,会分散用户对内容的注意力。仅对重要的功能性元素(导航、主要操作)应用 .glassEffect(),不要用于内容卡片、列表行或装饰元素。

// ✅ Content layer: no glass. Navigation layer: glass on functional buttons only.
ZStack {
    ScrollView { ForEach(articles) { ArticleCard($0) } }
    VStack {
        Spacer()
        HStack {
            Button("Filter") { }.glassEffect()
            Spacer()
            Button("Sort") { }.glassEffect()
        }.padding()
    }
}

应用图标

应用图标采用了更具动感和表现力的设计。图标网格更新后,图标风格更加统一,在不同设备上的视觉效果也更加一致。应用图标包含多个图层,可根据光照和视觉效果动态响应。

平台支持

分层图标:iOS/iPadOS 26+、macOS Tahoe+、watchOS(圆形蒙版)。外观变体:默认(浅色)、深色、透明、有色调(主屏幕个性化)。

设计原则

设计简洁、精炼的图层,使用纯色填充和半透明叠加层。将效果(反射、折射、阴影、模糊、蒙版)交由系统处理。不要预先烘焙模糊效果、手动阴影、硬编码高光或固定蒙版。

使用图层进行设计

分为三个图层:前景(主要元素)、中间层(辅助元素)、背景(基础层)。将每个图层导出为 PNG 或 SVG,尺寸为 @1x/@2x/@3x,并保留透明度。

图标编辑器

Xcode 26+ 已内置(也可从 developer.apple.com/design/resources 单独下载)。拖放图层,添加可选背景,调整属性(不透明度、位置、缩放),预览系统效果和所有外观变体,并直接导出到资源目录。

对照新版网格预览

网格:iOS/iPadOS/macOS 使用圆角矩形蒙版;watchOS 使用圆形蒙版。从 developer.apple.com/design/resources 下载。让元素保持居中,避免被裁切;在所有尺寸下测试,并确认所有外观变体的效果都符合预期。


控件

各平台的控件焕然一新,并能在交互时呈现动态效果。旋钮会在交互时变为 Liquid Glass,按钮会流畅地变形成菜单或弹出框。控件的曲率会参考硬件形状(较圆的形状会贴合角落)。

外观更新

带边框的按钮默认采用胶囊形状(macOS 上的迷你、小型和中型按钮仍采用圆角矩形)。旋钮会在交互时变成玻璃效果;按钮会变形成菜单或弹出框。新增 controlSize(.extraLarge) 选项;macOS 上的控件高度略有增加。使用 controlSize(.small) 保持高密度布局的向后兼容性。标准控件会自动采用这些样式——移除硬编码的 .frame() 尺寸。

检查更新后的控件

检查滑块、开关、按钮、步进器、选择器、分段控件和进度指示器。确认外观与界面相符、间距自然、控件未被裁切,且交互反馈灵敏。

控件中的颜色

使用系统颜色(.tint(.blue)、.accentColor)——它们会自动适配浅色和深色环境。避免使用硬编码的 RGB 值(Color(red:green:blue:)),这些值可能无法适配。请在两种模式下测试,并确认符合 WCAG AA 对比度要求。

检查拥挤或重叠

Liquid Glass 元素需要留有足够空间。玻璃按钮使用默认的 HStack 间距(不要使用 spacing: 4)。元素过于拥挤或玻璃效果彼此叠加会造成视觉杂乱。多个玻璃元素必须紧邻时,请使用 GlassEffectContainer。

使用滚动边缘效果提升易读性

使用 .scrollEdgeEffectStyle(.hard, for: .top) 遮挡滚动到控件下方的内容。系统栏(工具栏、导航栏、标签栏)会自动采用此效果;自定义栏需要显式设置。

使控件形状与容器对齐

使用 containerRelativeShape() 使控件曲率与容器对齐,从控件到工作表、窗口再到显示屏,营造连续的同心视觉效果。

新按钮样式

使用内置样式代替自定义玻璃效果:.borderedProminent(主要样式,搭配 .tint())、.bordered(次要样式)、.plain + .glassEffect()(第三级/自定义样式)。每种样式都会自动适配 Liquid Glass。


导航

Liquid Glass 会应用于定义导航的最上层。标签栏和侧边栏等关键导航元素会悬浮在这个 Liquid Glass 层中,帮助用户专注于下方内容。

明确导航层级

保持两个不同的层:导航(标签栏、侧边栏、工具栏——Liquid Glass)悬浮在内容(文章、照片、数据——无玻璃效果)上方。不要对列表行等内容项应用 .glassEffect()——内容层上的玻璃效果会模糊层次边界,并与导航争夺注意力。

让标签栏适配侧边栏

使用 .tabViewStyle(.sidebarAdaptable)(iOS 26),让标签栏在 iPad/macOS 上适配为侧边栏,同时在 iPhone 上保持为标签栏。它会随着窗口尺寸自适应并流畅过渡。

TabView {
    ContentView().tabItem { Label("Home", systemImage: "house") }
    SearchView().tabItem { Label("Search", systemImage: "magnifyingglass") }
}
.tabViewStyle(.sidebarAdaptable)
用分栏视图构建侧边栏 + 检视器布局

使用 NavigationSplitView 创建侧边栏、内容和详情列。Liquid Glass 会自动应用于侧边栏和检视器。iOS 会自适应列的可见性;在大屏幕上,iPadOS/macOS 会显示所有列。

NavigationSplitView {
    List(folders, selection: $selectedFolder) { Label($0.name, systemImage: $0.icon) }
        .navigationTitle("Folders")
} content: {
    List(items, selection: $selectedItem) { ItemRow($0) }
} detail: {
    InspectorView(item: selectedItem)
}
检查内容安全区域

确认侧边栏/检查器下方的内容能恰当地露出。若内容需要考虑侧边栏/检查器占用的空间,请使用 .safeAreaInset(edge:)。

边到边玻璃效果的内边距

当玻璃效果通过 .ignoresSafeArea() 延伸至边缘时,请在内容层使用 .safeAreaPadding()(而非 .padding()),以适配设备安全区域(刘海、灵动岛、主屏幕指示条):

// ❌ .padding(.horizontal, 20) — doesn't account for safe areas
// ✅ .safeAreaPadding(.horizontal, 20) — 20pt beyond safe areas

适用于:带材质效果的全屏工作表、边到边工具栏、浮动面板、自定义玻璃导航栏。需要 iOS 17+。有关 .safeAreaPadding() 与 .padding() 的完整指南,请参阅 axiom-swiftui-layout-ref。

检查:侧边栏/检查器下方的内容可见、未被裁切、露出的部分看起来协调,并且与刘海/灵动岛/主屏幕指示条保持适当距离。

背景延伸效果

在不让内容实际滚动到侧边栏/检查器下方的情况下,对其下方的内容进行镜像和模糊处理,营造沉浸式的边到边效果。最适合主视觉图片、照片图库和富媒体分栏视图。

NavigationSplitView {
    SidebarView()
} detail: {
    DetailView()
        .backgroundExtensionEffect()
}
自动最小化标签栏(iOS)

滚动时可通过 .tabBarMinimizeBehavior() 收起标签栏(iOS 26)。选项:.onScrollDown(阅读/媒体应用推荐)、.onScrollUp、.automatic、.never。向相反方向滚动时,标签栏会展开。


菜单和工具栏

菜单在各个平台上都焕然一新。它们采用 Liquid Glass,并为常见操作的菜单项添加图标,帮助用户快速浏览和识别操作。iPadOS 现在提供菜单栏,以便更快地访问常用命令。

跨平台菜单一致性

菜单现在在 iOS 和 macOS 上采用一致的布局——图标位于前缘,相同的 API(Label 或标准控件初始化器)在两个平台上会呈现相同的视觉效果。

标准操作的菜单图标
自动采用图标
// ✅ Standard selectors get icons automatically
Menu("Actions") {
    Button(action: cut) {
        Text("Cut")
    }
    Button(action: copy) {
        Text("Copy")
    }
    Button(action: paste) {
        Text("Paste")
    }
}
// System uses selector to determine icon
// cut() → scissors icon
// copy() → documents icon
// paste() → clipboard icon
标准选择器
  • cut() → ✂️ 剪刀
  • copy() → 📄 文档
  • paste() → 📋 剪贴板
  • delete() → 🗑️ 垃圾桶
  • 以及更多……
自定义操作
// ✅ Provide icon for custom actions
Button {
    customAction()
} label: {
    Label("Custom Action", systemImage: "star.fill")
}
让顶部菜单操作与滑动操作保持一致
保持一致且可预测
// ✅ Swipe actions match contextual menu
List(emails) { email in
    EmailRow(email)
        .swipeActions(edge: .leading) {
            Button("Archive", systemImage: "archivebox") {
                archive(email)
            }
        }
        .swipeActions(edge: .trailing) {
            Button("Delete", systemImage: "trash", role: .destructive) {
                delete(email)
            }
        }
        .contextMenu {
            // ✅ Same actions appear at top
            Button("Archive", systemImage: "archivebox") {
                archive(email)
            }
            Button("Delete", systemImage: "trash", role: .destructive) {
                delete(email)
            }

            Divider()

            // Additional actions below
            Button("Mark Unread") { }
        }
}

原因: 用户期望滑动操作和菜单操作保持一致。一致性有助于建立信任,并让行为更可预测。

工具栏分组、间隔和形变

有关完整的工具栏 API 说明,请参阅 axiom-swiftui-26-ref:ToolbarSpacer、ToolbarItemGroup 视觉分组、.sharedBackgroundVisibility(.hidden)、工具栏形变、DefaultToolbarItem、用户可自定义的工具栏、单色图标渲染、向后兼容的工具栏标签,以及浮动玻璃按钮。

Liquid Glass 专属工具栏指南:

  • 每个工具栏背景组只选一种样式(图标或文本)——混用会让玻璃下的视觉权重不一致
  • 仅在表达含义(号召性操作、下一步)时使用 .tint(),不要用于装饰——单色样式可减少 Liquid Glass 下的视觉干扰
为图标提供无障碍标签

所有仅含图标的按钮都需要使用 .accessibilityLabel("Action Name"),以便 VoiceOver 和 Voice Control 用户使用。使用 Label("Share", systemImage: "square.and.arrow.up") 可自动提供无障碍支持。

检查工具栏自定义设置

确认自定义间隔、项目和可见性设置能与 Liquid Glass 背景配合使用。常见问题:在 ToolbarItem 内有条件地隐藏内容会产生空胶囊——将 if 移到外层,改为隐藏整个 ToolbarItem。


窗口和模态界面

窗口采用更圆润的边角,以适配控件和导航元素。iPadOS 应用会显示窗口控件,并支持连续调整窗口大小。工作表和操作表采用 Liquid Glass,并增大了圆角半径。

任意窗口大小(iPadOS)

iPadOS 26 窗口可连续调整大小(不再在预设尺寸之间切换)。请使用 .windowResizability(.contentSize) 和灵活布局。移除对硬编码尺寸的假设,并在各种窗口尺寸下进行测试。

流畅调整列宽的分栏视图

使用 NavigationSplitView(columnVisibility:),在连续调整窗口大小时自动重新排列内容,避免手动计算布局和编写自定义动画代码。

使用布局指南和安全区域

使用 .safeAreaInset(edge:),让内容自动避开窗口控件、标题栏和界面装饰。

工作表:增大圆角

工作表的圆角增大;半屏工作表会与边缘留出间距(露出下方内容),并在过渡到全屏高度时变得更加不透明。请检查内容是否被更圆的边角裁切,以及下方露出的背景是否符合预期。

移除 presentationBackground

从工作表中移除 .presentationBackground()——系统会自动为工作表应用 Liquid Glass 材质。自定义背景会干扰新材质。

检查工作表和弹出框的背景

移除弹出框和工作表中的自定义 VisualEffectView/UIBlurEffect 背景。系统会自动应用 Liquid Glass,无需背景修饰符。

操作菜单:内联外观

操作菜单现在从源元素(而非底部边缘)弹出,并允许与界面的其他部分交互。将 .confirmationDialog() 附加到触发按钮上——系统会自动定位菜单。


组织与布局

列表、表格和表单的行高及内边距更大,为内容留出充足空间。区段的圆角也增大,以匹配控件的弧度。

增大行高和内边距

列表、表格、表单和区段的高度、内边距、间距及圆角均有所增加。标准组件会自动采用这些调整。移除硬编码的 .frame(height:) 和 .padding(.vertical:),让系统决定行高和内边距。

区段标题大小写

iOS 26 不再将区段标题转换为全大写,而是按提供的内容原样呈现。请改用标题式大小写:Section(header: Text("User Settings")),而不是 "user settings"。

使用 Form 实现平台优化布局

使用 .formStyle(.grouped),自动采用与各平台控件相匹配的行高、内边距、间距和区段圆角。


搜索

针对搜索位置和行为的平台惯例旨在优化各设备上的体验。请检查搜索字段的设计惯例,以提供更吸引人的搜索体验。

激活搜索时的键盘布局
变更内容(iOS)

用户轻点搜索字段使其获得焦点时,搜索字段会随着键盘出现向上滑动。

测试
  • 轻点搜索字段
  • 确认其平滑向上滑动
  • 键盘出现时不会遮挡搜索字段
  • 与系统搜索体验(Spotlight、Safari)保持一致
无需更改代码
// ✅ Existing searchable modifier adopts new behavior
List(items) { item in
    Text(item.name)
}
.searchable(text: $searchText)
语义化搜索标签页

关于 Tab API 模式(包括 .tabRole(.search)),请参阅 swiftui-nav-ref 技能的第 5 节(标签页导航集成)。


平台注意事项

Liquid Glass 在不同平台、场景和输入方式下可能呈现不同的外观和行为。请在不同设备上进行测试,以了解材质的外观。

watchOS 和 tvOS
平台采用方式关键要求
watchOS在最新版本上自动采用,即使未使用最新 SDK使用标准工具栏 API,以及 watchOS 10 中的 .buttonStyle(.bordered)
tvOS基于焦点——控件获得焦点时显示玻璃效果(Apple TV 4K 第 2 代及更新机型)在标准控件上使用 .focusable();对于自定义控件,使用由 @FocusState 驱动的不透明度并应用 .glassEffect()
glassBackgroundEffect()

对于需要反映其后方内容的自定义视图(而不仅仅是在上方应用玻璃材质),请使用 .glassBackgroundEffect()。它会创建玻璃质感的背景,使下层内容透显出来;这与将玻璃作为叠加材质应用的 .glassEffect() 不同。

// Custom floating panel with glass background reflecting content behind it
struct FloatingPanel: View {
    var body: some View {
        VStack {
            Text("Panel Content")
            // ...
        }
        .padding()
        .glassBackgroundEffect() // Reflects content beneath, not on top
    }
}

.glassEffect() 与 .glassBackgroundEffect():控件和导航元素(按钮、工具栏)使用 .glassEffect()。需要透显下层内容的内容容器(面板、需要体现纵深感的卡片)使用 .glassBackgroundEffect()。

ScrollView 与 Glass 交互

当 Liquid Glass 元素叠加在可滚动内容上时,请谨慎处理裁剪和可见性:

ZStack {
    ScrollView {
        LazyVStack {
            ForEach(items) { item in
                ItemRow(item)
            }
        }
        .safeAreaInset(edge: .bottom, spacing: 0) {
            Color.clear.frame(height: 80) // Space for floating glass controls
        }
    }

    VStack {
        Spacer()
        HStack {
            Button("Action") { }
                .glassEffect()
        }
        .padding()
    }
}

常见问题:Glass 元素可能会在滚动视图边界处被裁剪或失去效果。请对滚动内容(而不是 Glass 元素)使用 .clipped(),并确保 Glass 元素位于滚动视图层级之外,而非其中。

UIBlurEffect 迁移映射
旧版(iOS 26 之前)Liquid Glass 等效项
UIBlurEffect(style: .systemMaterial).glassEffect()(标准)
UIBlurEffect(style: .systemUltraThinMaterial).glassEffect(.clear)(需满足条件)
UIBlurEffect(style: .systemChromeMaterial)系统工具栏/导航栏玻璃效果(自动应用)
带模糊效果的 UIVisualEffectView完全移除——在 SwiftUI 视图上使用 .glassEffect()
.background(.thinMaterial).glassEffect() 或保留材质(会自动适配)
.background(.ultraThinMaterial)内容容器使用 .glassBackgroundEffect()
自定义 NSVisualEffectView(macOS).glassEffect() 或系统组件

迁移步骤:(1) 移除 UIVisualEffectView/NSVisualEffectView 包装视图,(2) 在 SwiftUI 视图上替换为 .glassEffect(),(3) 启用“降低透明度”进行测试,以验证回退效果,(4) 对性能进行性能分析——玻璃效果使用 GPU 合成。

组合自定义 Liquid Glass 效果

将多个 .glassEffect() 视图包装在 GlassEffectContainer { } 中,以优化渲染、实现玻璃形状之间的流畅变形,并降低合成器开销。适用于相邻的玻璃元素、变形动画和对性能要求较高的界面。

性能测试

使用 Instruments(Time Profiler、SwiftUI、Allocations、Core Animation)对滚动、动画、内存和 CPU 进行性能分析。SwiftUI Instruments 工作流请参见 axiom-swiftui-performance,Instruments 决策树请参见 axiom-performance-profiling。

向后兼容性

在 Info.plist 中添加 UIDesignRequiresCompatibility = true,即可使用 iOS 26 SDK 发布,同时保持 iOS 18 外观(停用 Liquid Glass,使用之前的模糊/材质样式)。迁移策略:启用该键后发布,在单独的构建中审查更改,逐步更新,并在准备就绪时移除该键。


快速参考:API 检查清单

Liquid Glass 核心 API
  • glassEffect() - 应用 Liquid Glass 材质
  • glassEffect(.clear) - 透明变体(需满足 3 个条件)
  • glassEffect(in: Shape) - 自定义形状
  • glassBackgroundEffect() - 用于反映内容的自定义视图
滚动边缘效果
  • scrollEdgeEffectStyle(_:for:) - 在 Glass 与滚动内容交界处保持可读性
  • 固定的辅助视图使用 .hard 样式
  • 渐进淡出使用 .soft 样式
控件和形状
  • containerRelativeShape() - 使控件形状与容器对齐
  • .borderedProminent 按钮样式
  • .bordered 按钮样式
  • 使用 .tint() 的系统颜色以实现自适应
导航
  • .tabViewStyle(.sidebarAdaptable) - 标签栏可适配侧边栏
  • .tabBarMinimizeBehavior(_:) - 滚动时最小化
  • .tabRole(.search) - 语义化搜索标签页
  • 使用 NavigationSplitView 构建侧边栏 + 检查器布局
工具栏和菜单
  • ToolbarSpacer(.fixed) - 分隔工具栏组
  • 使用标准选择器自动显示菜单图标
  • 让上下文菜单操作与轻扫操作保持一致
组织和布局
  • .formStyle(.grouped) - 针对平台优化的表单布局
  • 分区标题采用标题式大小写
  • 遵循自动行高和内边距
性能
  • GlassEffectContainer - 组合多个玻璃效果
  • 使用 Instruments 进行性能分析
  • 使用辅助功能设置进行测试
向后兼容性
  • 在 Info.plist 中添加 UIDesignRequiresCompatibility(如有需要)

审核清单

审核应用是否采用 Liquid Glass 时,请使用此清单。按类别分组的 30 个高影响力项目:

构建和测试
  • 使用 Xcode 26 SDK 构建,并在最新的平台版本上运行
  • 使用“降低透明度”“提高对比度”和“减少动态效果”进行测试
  • 使用 Instruments 对性能进行分析(滚动、动画、内存)
移除自定义覆盖
  • 移除导航栏、工具栏和标签栏的自定义背景
  • 移除工作表和弹出框中的 presentationBackground
  • 移除硬编码的控件高度和行高
  • 移除工作表和弹出框中的自定义模糊/材质背景
图标和应用图标
  • 应用图标使用前景/中间/背景图层,并在 Icon Composer 中合成
  • 测试所有外观变体(浅色/深色/透明/着色)
  • 为所有工具栏/菜单图标提供辅助功能标签
控件
  • 检查新的胶囊按钮形状;高密度布局使用 controlSize(.small)
  • 使用系统颜色(而非硬编码的 RGB);采用 .borderedProminent/.bordered
  • 控件之间留有足够间距(避免玻璃效果彼此拥挤)
  • 在玻璃效果与滚动内容交界处应用滚动边缘效果
导航和布局
  • 层次清晰:导航层(玻璃效果)与内容层(无玻璃效果)
  • 在适当情况下,让标签栏适配侧边栏(.sidebarAdaptable)
  • 检查内容安全区域;边缘到边缘的玻璃效果使用 .safeAreaPadding()
  • 考虑为分栏视图应用背景延伸效果
  • 将分区标题更新为标题式大小写
  • 在表单中采用 .formStyle(.grouped)
菜单和工具栏
  • 使用标准选择器自动显示菜单图标
  • 让轻扫操作与上下文菜单操作保持一致
  • 按逻辑对工具栏项目分组(参见 axiom-swiftui-26-ref)
窗口和模态界面
  • 支持任意窗口尺寸(iPadOS);使用灵活布局
  • 检查工作表内容在圆角增大后的显示情况
平台
  • watchOS:采用标准工具栏 API 和按钮样式
  • tvOS:采用标准焦点 API,以便 Liquid Glass 在获得焦点时生效
  • 在多个玻璃效果相近的情况下使用 GlassEffectContainer
  • 如有需要,考虑使用 UIDesignRequiresCompatibility 键

资源

WWDC:2025-219、2025-323(使用新设计构建 SwiftUI 应用)

文档:/TechnologyOverviews/liquid-glass、/TechnologyOverviews/adopting-liquid-glass、/design/Human-Interface-Guidelines/materials

示例代码:/SwiftUI/Landmarks-Building-an-app-with-Liquid-Glass

技能:axiom-liquid-glass、axiom-swiftui-performance、axiom-swiftui-debugging、axiom-accessibility-diag


最后更新:2025-12-01 最低平台版本:iOS/iPadOS 26、macOS Tahoe、tvOS、watchOS、visionOS 3 Xcode 版本:Xcode 26+ 技能类型:参考(全面的采用指南)

评论

支持 Markdown