显示叠加层对齐到底部

Showing Overlay Aligning to the Bottom

我想在点击按钮时将 View 放在另一个之上。以下是我的代码。

import SwiftUI

struct SheetView: View {
    @State private var showSheet: Bool = false
    var body: some View {
        NavigationView {
            VStack {
                ZStack {
                    Rectangle()
                        .fill(Color.orange)
                        .frame(height: 32.0)
                    Button("Please select a mailing address") {
                        showSheet.toggle()
                    }.foregroundColor(Color.black)
                }
                Spacer()
            }
            .navigationBarTitleDisplayMode(.inline)
            .navigationViewStyle(StackNavigationViewStyle())
        }
        .overlay(popOver)
    }
    
    var popOver: some View {
        Group {
            if showSheet {
                ZStack {
                    Color.black.opacity(0.4).ignoresSafeArea()
                    ZStack {
                        Rectangle()
                            .fill(Color.white)
                            //.frame(width: UIScreen.main.bounds.width, height: 400)
                            .frame(maxWidth: .infinity, maxHeight: 320.0, alignment: .bottom)
                            //.position(x: UIScreen.main.bounds.width / 2.0, y: 600)
                    }
                }.onTapGesture {
                    showSheet.toggle()
                }
            }
        }
    }
}

看起来像 the following picture。除了重叠的 View 会出现在中心之外,我得到了几乎所有我需要的东西。我怎样才能让它出现,对齐底部 View?谢谢。

这是一个修复 - 对内部 ZStack 使用对齐(使用 Xcode 13.2 / iOS 15.2 测试):

    ZStack(alignment: .bottom) {
        Color.black.opacity(0.4).ignoresSafeArea()
        ZStack {
            Rectangle()
                .fill(Color.white)
                .frame(maxWidth: .infinity, maxHeight: 320.0, alignment: .bottom)
        }
    }
    //.ignoresSafeArea()     // << probably you also need this
    .onTapGesture {
        showSheet.toggle()
    }