by patrickserrano
构建现代 iOS 界面需要实现高级视觉效果。本技能提供使用 iOS 26+ 液态玻璃 API 在 SwiftUI 中创建模糊、反射和交互式玻璃表面的指南和代码示例。
1. 打开 Claude 聊天界面
2. 点击下方 "📋 复制" 按钮
3. 粘贴到 Claude 聊天框中并发送
4. 输入 "使用 liquid-glass 技能" 开始使用
=== liquid-glass 技能 === 作者: patrickserrano 描述: 构建现代 iOS 界面需要实现高级视觉效果。本技能提供使用 iOS 26+ 液态玻璃 API 在 SwiftUI 中创建模糊、反射和交互式玻璃表面的指南和代码示例。 使用方法: 1. 调用技能: "使用 liquid-glass 技能" 2. 提供相关信息: 根据技能要求提供必要参数 3. 查看结果: 技能会返回处理结果 示例: "使用 liquid-glass 技能,帮我分析一下这段代码"
这种方法适用于所有 Claude 用户,不需要安装额外工具。
design
safe
Liquid Glass is a dynamic material in iOS 26+ that combines optical glass properties with fluidity. It blurs content, reflects surrounding color and light, and reacts to touch interactions in real time.
GlassEffectContainer for multiple glass elementsGlassEffectContainer when multiple glass elements coexist.glassEffect(...) after layout and visual modifiers.interactive() for elements that respond to touch/pointer#available(iOS 26, *) and provide non-glass fallback#available(iOS 26, *) present with fallback UIGlassEffectContainerglassEffect applied after layout/appearance modifiersinteractive() only where user interaction existsglassEffectID used with @Namespace for morphingGlassEffectContainer with spacing.glassEffect(.regular.tint(...).interactive(), in: .rect(cornerRadius: ...)) as needed.buttonStyle(.glass) / .buttonStyle(.glassProminent) for actionsglassEffectID when hierarchy changesif #available(iOS 26, *) {
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)
Button("Cancel") { }
.buttonStyle(.glass)
@State private var isExpanded = false
@Namespace private var namespace
GlassEffectContainer(spacing: 40) {
HStack(spacing: 40) {
Image(systemName: "pencil")
.frame(width: 80, height: 80)
.glassEffect()
.glassEffectID("pencil", in: namespace)
if isExpanded {
Image(systemName: "eraser")
.frame(width: 80, height: 80)
.glassEffect()
.glassEffectID("eraser", in: namespace)
}
}
}
Button("Toggle") {
withAnimation {
isExpanded.toggle()
}
}
.buttonStyle(.glass)
Text("Tinted Glass")
.padding()
.glassEffect(.regular.tint(.orange).interactive(), in: .capsule)
@Namespace private var namespace
GlassEffectContainer(spacing: 20) {
HStack(spacing: 20) {
ForEach(items.indices, id: \.self) { index in
ItemView(item: items[index])
.glassEffect()
.glassEffectUnion(id: index < 2 ? "group1" : "group2", namespace: namespace)
}
}
}
.capsule (default).rect(cornerRadius: CGFloat).circleGlassEffectContainer for multiple glass views.glassEffect() after appearance modifiers.interactive() only to touchable elementsView Count
0
Download Count
0
Favorite Count
0
Quality Score
71