SuperAPI AI 工具集

ios26-liquid-glass

前端与建站

查看项目

更新于 10-16 03:39

技能介绍

用途:帮助开发者在 SwiftUI 中正确实现 iOS 26 的 Liquid Glass 设计系统效果,使用官方 API 与规范写法,而非自定义模糊或材质方案。

主要能力:核心 API 为 glassEffect 修饰符,可应用于任意视图添加玻璃材质,默认形状为 capsule;Glass 结构提供 .regular(默认中等透明,适合工具栏、按钮、导航)、.clear(高透明,适合照片、地图、视频上的覆盖层)、.identity(无效果,用于条件切换),并支持 tint(:) 着色与 interactive() 交互(点击时缩放、回弹、闪光)。形状可选 capsule、circle、ellipse、RoundedRectangle,或 .rect(cornerRadius: .containerConcentric)。GlassEffectContainer 用于包裹多个玻璃元素以共享采样区域;glassEffectID(:in:) 配合共享命名空间和 withAnimation 可实现元素间形变过渡。文本与图标会自动获得 vibrant 处理以提升可读性。

使用方式:始终用 if #available(iOS 26, *) 做可用性判断,并为旧版本回退到 .background(.ultraThinMaterial)。glassEffect 应在布局与视觉修饰符之后应用(如先 font、foregroundStyle、padding、frame,最后 glassEffect)。修饰链顺序任意,例如 .regular.tint(.blue).interactive()。形变需要三要素:同一 GlassEffectContainer、各自带 glassEffectID 且共享 namespace、状态变化使用 withAnimation。

限制与注意:玻璃不能采样其他玻璃,缺少共享容器时相邻玻璃元素渲染不一致;interactive() 仅用于可触摸响应元素,不用于静态内容;应避免自定义模糊实现。已知 iOS 26.1 中,将 Menu 放入 GlassEffectContainer 会破坏形变动画,需规避至修复。