SwiftUI Zstack-使元素忽略安全区域而另一个则不

时间:2020-10-12 16:18:30

标签: swift swiftui vstack zstack

我有一个像这样的Zstack:

ZStack {
  Image("beach")
    .resizable()
    .edgesIgnoringSafeArea(.all)
    .scaledToFill()

  VStack {
    // with a lot of stuff
  }
}

我希望图像忽略安全区域,但是Vstack必须遵守安全区域。

图像是应该覆盖所有区域的背景图像。

我拥有的这段代码也使VStack全屏显示,我不希望这样。

为什么所有不遵守安全区域的规定都是一个谜,因为相应的修饰符仅应用于图像。

1 个答案:

答案 0 :(得分:2)

将图片放入.background

struct ContentView: View {
    var body: some View {
        
        VStack {
            // lots of stuff
            Color.red
            Color.blue
        }
        .background(
            Image("beach")
                .resizable()
                .edgesIgnoringSafeArea(.all)
                .scaledToFill()
        )
    }
}