如何为图像swiftui添加阴影?

如何为图像swiftui添加阴影?,swiftui,Swiftui,我想采取的顶部图像,并添加阴影,使它看起来像底部 我试过了 .renderingMode(.template) .accentColor(.black.opacity(0.5)) .foreGroundColor(.black.opacity(0.2) 还有其他方面。这里有一种方法,不过我更喜欢一种预定义的方法 ZStack { Image("green-phone-pocket 2") Color.black.opacity(0.5) } 这里有一种方法,

我想采取的顶部图像,并添加阴影,使它看起来像底部

我试过了

.renderingMode(.template)
.accentColor(.black.opacity(0.5))
.foreGroundColor(.black.opacity(0.2)

还有其他方面。

这里有一种方法,不过我更喜欢一种预定义的方法

ZStack {
   Image("green-phone-pocket 2")
   Color.black.opacity(0.5)
}

这里有一种方法,不过我更喜欢预定义的方法

ZStack {
   Image("green-phone-pocket 2")
   Color.black.opacity(0.5)
}

通过添加一个
覆盖层
,它更简单:

Image(...)
    .modifiers(...)
    .overlay(Color.black.opacity(0.1)
您也可以设置动画:

struct HomeView: View {
    @State private var hover = false
    var body: some View {
        Image(...)
            .modifiers(...)
            .onHover { hover in withAnimation { self.hover = hover } }
            .overlay(Color.black.opacity(hover ? 0.2 : 0))
    }
}

通过添加一个
覆盖层
,它更简单:

Image(...)
    .modifiers(...)
    .overlay(Color.black.opacity(0.1)
您也可以设置动画:

struct HomeView: View {
    @State private var hover = false
    var body: some View {
        Image(...)
            .modifiers(...)
            .onHover { hover in withAnimation { self.hover = hover } }
            .overlay(Color.black.opacity(hover ? 0.2 : 0))
    }
}

我喜欢负亮度:

struct ContentView: View {
    var body: some View {
        Image("green-phone-pocket 2")
            .resizable()
            .aspectRatio(contentMode: .fit)
            .brightness(-0.3)
    }
}
无亮度修改器 -0.1 -0.3
我喜欢负亮度:

struct ContentView: View {
    var body: some View {
        Image("green-phone-pocket 2")
            .resizable()
            .aspectRatio(contentMode: .fit)
            .brightness(-0.3)
    }
}
无亮度修改器 -0.1 -0.3