1. 简介
SwiftUI 为我们提供了一个专用的 shadow()
修改器,用于在视图周围绘制阴影。 我们可以控制阴影的颜色、半径和位置,还可以通过调整修改器顺序来控制视图的哪些部分被阴影遮盖。
2. 通过模糊半径绘制阴影
在其基本形式中,我们只需指定模糊的半径即可添加阴影,如下所示:
struct ContentView: View {
var body: some View {
Text("Hello SwiftUI")
.padding()
.shadow(radius: 5)
.border(Color.red, width: 4)
}
}
效果预览: 这段代码添加了一个非常轻微的阴影,以文本为中心的5点模糊。
3. 绘制红色阴影
我们还可以指定所需的颜色以及原始视图的X和Y偏移。 例如,下面的代码会创建一个强烈的红色阴影,其中包含5点模糊,以文本为中心:
struct ContentView: View {
var body: some View {
Text("Hello SwiftUI")
.padding()
.shadow(color: Color.red, radius: 5)
.border(Color.red, width: 4)
}
}
效果预览:
4. 为阴影设置偏移量
如果要为阴影指定偏移,请将 x
和/或 y
参数添加到修改器,如下所示:
struct ContentView: View {
var body: some View {
Text("Hello SwiftUI")
.padding()
.shadow(color: Color.red, radius: 5, x: 20, y: 20)
.border(Color.red, width: 4)
}
}
效果预览:
5. 为边框绘制阴影
请记住,SwiftUI 按照列出修改器的顺序来应用它们,因此如果我们希望可以将阴影应用于边框,只需将边框修改器放在阴影修改器之前:
struct ContentView: View {
var body: some View {
Text("Hello SwiftUI")
.padding()
.border(Color.red, width: 4)
.shadow(color: Color.red, radius: 5, x: 20, y: 20)
}
}