SwiftUI

SwiftUI view加Shadow

有时候我们需要给view加Shadow效果

如果像下面这样写,会发现TarifsScreen View里面所有的元素都加上了阴影效果。

import SwiftUI

struct TarifsScreen: View {

var body: some View {
        VStack {
            VStack {

                Spacer()

                Text("Text1")

                Spacer()

                Text("Text2")

                Spacer()

                Text("Text3")

                Spacer()

        }.frame(width: 100, height: 200).shadow(color: Color.white, radius: 10, x: 0, y: 0)
    }
  }
}

这时我们需要换另一种写法

  VStack {
    ...
  }
  .background(Color.white // any non-transparent background
    .shadow(color: Color.red, radius: 10, x: 0, y: 0)
  )
  .frame(width: geometry.size.width, height: geometry.size.height)