☰
swiftui-liquid-glass - SKILL
2026/10/9 7:41:13 网站建设 项目流程

name: swiftui-liquid-glass
description: 实现或审查 SwiftUI Liquid Glass API,包含正确的回退和修饰符顺序。
risk: safe
source: “Dimillian/Skills (MIT)”
date_added: “2026-03-25”

SwiftUI Liquid Glass

概述

使用本技能构建或审查与 iOS 26+ Liquid Glass API 完全对齐的 SwiftUI 功能。优先使用原生 API(glassEffect、GlassEffectContainer、玻璃按钮样式)和 Apple 设计指导。保持使用的一致性、在需要的地方交互,并保持性能意识。

何时使用

  • 当用户想在 SwiftUI UI 中采用或审查 Liquid Glass 时。
  • 当你需要 Liquid Glass 的正确 API 用法、回退处理或修饰符顺序时。

工作流决策树

选择与请求匹配的路径:

1) 审查现有功能

  • 检查哪里应该使用 Liquid Glass,哪里不应该。
  • 验证正确的修饰符顺序、形状用法和容器放置。
  • 检查 iOS 26+ 可用性处理和合理的回退。

2) 使用 Liquid Glass 改进功能

  • 识别目标组件的玻璃处理(表面、chip、按钮、卡片)。
  • 在出现多个玻璃元素时重构为使用GlassEffectContainer。
  • 仅对可点击或可聚焦的元素引入交互式玻璃。

3) 使用 Liquid Glass 实现新功能

  • 首先设计玻璃表面和交互(形状、突出性、分组)。
  • 在布局/外观修饰符之后添加玻璃修饰符。
  • 仅当视图层级带动画变化时添加变形过渡。

核心指导

  • 优先使用原生 Liquid Glass API 而不是自定义模糊。
  • 当多个玻璃元素共存时使用GlassEffectContainer。
  • 在布局和视觉修饰符之后应用.glassEffect(...)。
  • 对响应触摸/指针的元素使用.interactive()。
  • 在相关元素之间保持形状一致,以获得协调的外观。
  • 用#available(iOS 26, *)门控并提供非玻璃回退。

审查清单

  • 可用性:存在带回退 UI 的#available(iOS 26, *)。
  • 组合:多个玻璃视图包裹在GlassEffectContainer中。
  • 修饰符顺序:glassEffect在布局/外观修饰符之后应用。
  • 交互性:interactive()只用于存在用户交互的地方。
  • 过渡:glassEffectID搭配@Namespace用于变形。
  • 一致性:形状、色调和间距在整个功能中保持一致。

实现清单

  • 定义目标元素和期望的玻璃突出性。
  • 将分组的玻璃元素包裹在GlassEffectContainer中并调整间距。
  • 按需使用.glassEffect(.regular.tint(...).interactive(), in: .rect(cornerRadius: ...))。
  • 对操作使用.buttonStyle(.glass)/.buttonStyle(.glassProminent)。
  • 当层级变化时,用glassEffectID添加变形过渡。
  • 为较早的 iOS 版本提供回退材质和视觉效果。

快速片段

直接使用这些模式并调整形状/色调/间距。

if#available(iOS26,*){Text("Hello").padding().glassEffect(.regular.interactive(),in:.rect(cornerRadius:16))}else{Text("Hello").padding().background(.ultraThinMaterial,in:RoundedRectangle(cornerRadius:16))}
GlassEffectContainer(spacing:24){HStack(spacing:24){Image(systemName:"scribble.variable").frame(width:72,height:72).font(.system(size:32)).glassEffect()Image(systemName:"eraser.fill").frame(width:72,height:72).font(.system(size:32)).glassEffect()}}
Button("Confirm"){}.buttonStyle(.glassProminent)

资源

  • 参考指南:references/liquid-glass.md
  • 最新的 API 详情优先参考 Apple 文档。

限制

  • 仅当任务明确匹配上述范围时使用本技能。
  • 不要将输出视为环境特定验证、测试或专家审查的替代品。
  • 如果缺少所需的输入、权限、安全边界或成功标准,停下来询问澄清。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询