gpt4 book ai didi

swiftui - 当 DatePicker 在表单内时,如何使其保持打开状态?

转载 作者:行者123 更新时间:2023-12-04 09:07:17 25 4
gpt4 key购买 nike

如何使 DatePicker 保持打开状态?
我把 DatePicker 放在 Form 里面,所以我必须点击 form,打开 DatePicker。
但是相反,我希望它始终打开,即使用户没有点击然后形成。
无论如何会实现这一目标吗?
这是我当前的代码。

struct ContentView: View {
@State private var selectedDate = Date()
var body: some View {
VStack{
Form{
DatePicker(selection: self.$selectedDate, in: Date()..., displayedComponents: .date, label: { Text("Select a date") })
}
}
}
}
这是我尝试过的。使用 this method
  struct ContentView: View {
@State private var pickerReset = UUID()

@State private var selectedDate = Date()
var body: some View {
VStack{
Form{
DatePicker(selection: self.$selectedDate, in: Date()..., displayedComponents: .date, label: { Text("Select a date") }).id(self.pickerReset)
}
}.onAppear{
//I tired to show datePicker with UUID(), but
//this line of code ratherly hide the datepicker
self.pickerReset = UUID()
}
}
}

最佳答案

您可以尝试设置 datePickerStyle明确地:

struct ContentView: View {
@State private var selectedDate = Date()
var body: some View {
VStack {
Form {
DatePicker("", selection: $selectedDate, in: Date()..., displayedComponents: .date)
.datePickerStyle(WheelDatePickerStyle())
}
}
}
}

如果你愿意,你可以使用第二个禁用 DatePicker也显示所选日期 - 表现得更像表单中的标准 DatePicker:
struct ContentView: View {
@State private var selectedDate = Date()
var body: some View {
VStack {
Form {
VStack {
DatePicker("Select a date", selection: $selectedDate, in: Date()..., displayedComponents: .date)
.disabled(true)
DatePicker("", selection: $selectedDate, in: Date()..., displayedComponents: .date)
.datePickerStyle(WheelDatePickerStyle())
}
}
}
}
}

关于swiftui - 当 DatePicker 在表单内时,如何使其保持打开状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63419338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com