在 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
上更改的参数,但与 VStack
和 HStack
不同,[=] 上似乎没有任何对齐或间距参数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()
}
}
}
}
有什么方法可以让这个日期选择器垂直居中吗?如果我们放弃 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
上更改的参数,但与 VStack
和 HStack
不同,[=] 上似乎没有任何对齐或间距参数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()
}
}
}
}