SwiftUI shadw()阴影修饰符
SwiftUI shadw()阴影修饰符

SwiftUI shadw()阴影修饰符

在 SwiftUI 中,阴影是通过 .shadow() 修饰符来实现的。它可以应用于视图上,让视图看起来更有层次感。以下是有关阴影的详细介绍和使用示例:

基本用法

Text("Hello, SwiftUI!")
    .padding()
    .background(Color.blue)
    .cornerRadius(10)
    .shadow(color: .gray, radius: 5, x: 0, y: 5) // 添加阴影

参数解释

color: 阴影的颜色,例如 .gray 或 Color.black.opacity(0.5)。

radius: 模糊半径,值越大阴影越模糊。

x: 阴影的水平偏移量(正值向右,负值向左)。

y: 阴影的垂直偏移量(正值向下,负值向上)。

使用示例

1、按钮的卡片阴影

Button(action: {
    print("Button clicked")
}) {
    Text("Tap me")
        .padding()
        .background(Color.white)
        .cornerRadius(10)
        .shadow(color: Color.black.opacity(0.2), radius: 10, x: 5, y: 5) // 添加柔和阴影
}
.padding()
.background(Color.blue.opacity(0.1)) // 模拟背景
.cornerRadius(10)

效果:按钮悬浮在背景上,有轻微阴影。

2、多重阴影(内外叠加)

可以通过多次调用 .shadow() 实现更复杂的效果,例如内外双重阴影。

Text("Double Shadow")
    .padding()
    .background(Color.white)
    .cornerRadius(10)
    .shadow(color: Color.black.opacity(0.2), radius: 5, x: -5, y: -5) // 第一层阴影
    .shadow(color: Color.gray.opacity(0.3), radius: 10, x: 5, y: 5)  // 第二层阴影

效果:文字周围有两个不同的阴影方向,营造出立体感。

3、使用阴影创建霓虹效果

通过透明度和颜色的叠加,可以模拟霓虹灯效果。

Text("Neon Glow")
    .font(.largeTitle)
    .fontWeight(.bold)
    .foregroundColor(.white)
    .padding()
    .background(Color.black)
    .cornerRadius(10)
    .shadow(color: Color.red.opacity(0.7), radius: 10, x: 0, y: 0) // 红色外发光
    .shadow(color: Color.blue.opacity(0.5), radius: 20, x: 0, y: 0) // 蓝色外发光

效果:文字边缘有红色和蓝色的发光阴影。

注意事项

1、阴影性能:复杂的阴影可能影响性能,特别是在低端设备上或包含大量动态内容时。

2、背景与阴影对比:确保阴影颜色与背景颜色有足够对比,以便更明显地呈现阴影效果。

3、适配深浅模式:根据深浅模式调整阴影颜色,例如深色模式下可以使用更浅的阴影颜色。

如果您认为这篇文章给您带来了帮助,您可以在此通过支付宝或者微信打赏网站开放者。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注