在 Form SwiftUI 中垂直居中 DatePicker

Center DatePicker Vertically within Form SwiftUI

有什么方法可以让这个日期选择器垂直居中吗?如果我们放弃 Form(并使用 VStack 和 Spacers),这显然是可能的,但作为约束,尽量保持形式。或者,如果您需要摆脱表单,我更喜欢一种方法来保持表单生成的相同灰色背景颜色。我碰巧喜欢表单作为背景生成的确切灰色阴影。

示例代码:

struct TestDate: View {
    @State var chosenDate = Date()

    var body: some View {
        Form {
            DatePicker("Date", selection: $chosenDate, in: Date()..., displayedComponents: [.hourAndMinute, .date])
            .datePickerStyle(GraphicalDatePickerStyle())
        }
    }
}

编辑:

我试过将垫片放在窗体周围,并将垫片放在窗体中(都在 VStacks 中)。我还检查了 Form 是否有任何我可以在 init 上更改的参数,但与 VStackHStack 不同,[=] 上似乎没有任何对齐或间距参数11=]。只有 content:

您可以试试这样的方法:

struct TestDate: View {
    @State var chosenDate = Date()

    var body: some View {
        ZStack {
            Color(red: 236/255, green: 236/255, blue: 236/255, opacity: 1).ignoresSafeArea(.all)
            VStack {
                Spacer()
                DatePicker("Date", selection: $chosenDate, in: Date()..., displayedComponents: [.hourAndMinute, .date])
                    .datePickerStyle(GraphicalDatePickerStyle())
                    .background(Color.white)
                    .cornerRadius(15)
                    .padding(10)
                Spacer()
            }
        }
    }
}