是否在SwiftUI中的日期选择器上设置默认日期?

是否在SwiftUI中的日期选择器上设置默认日期?,swiftui,Swiftui,我在一个VStack中有一个日期选择器,工作正常: VStack { DatePicker(selection: $birthDate, displayedComponents: .date) { Text("") }.padding(10) .labelsHidden() .datePickerStyle(WheelDatePickerStyle()) } 我希望能够将默认日期设置

我在一个VStack中有一个日期选择器,工作正常:

VStack {
    DatePicker(selection: $birthDate, displayedComponents: .date) {
                Text("")
            }.padding(10)
            .labelsHidden()
            .datePickerStyle(WheelDatePickerStyle())
}

我希望能够将默认日期设置为过去的40年,这样用户就不必旋转到目前为止的年份(大多数人不是新生儿)。这可以使用DatePicker完成,如中所示。我不知道如何在SwiftUI中实现这一点。感谢您的帮助。

您应该按照以下方式初始化
出生日期
(经过测试,适用于Xcode 11.2/iOS 13.2)

@State private var生日:Date
init(){
_生日=状态(初始值:Calendar.current.date)(通过添加:
日期组件(年份:-40),至:日期()??日期())
}

您应该以以下方式初始化
出生日期
(使用Xcode 11.2/iOS 13.2测试和工作)

@State private var生日:Date
init(){
_生日=状态(初始值:Calendar.current.date)(通过添加:
日期组件(年份:-40),至:日期()??日期())
}

为什么不就这样

struct ContentView: View {
    @State private var birthDate: Date = Calendar.current.date(byAdding: DateComponents(year: -40), to: Date()) ?? Date()

    var body: some View {
        VStack {
            DatePicker(selection: $birthDate, displayedComponents: .date) {
                Text("")
            }
            .padding(10)
            .labelsHidden()
            .datePickerStyle(WheelDatePickerStyle())
        }
    }
}

为什么不就这样

struct ContentView: View {
    @State private var birthDate: Date = Calendar.current.date(byAdding: DateComponents(year: -40), to: Date()) ?? Date()

    var body: some View {
        VStack {
            DatePicker(selection: $birthDate, displayedComponents: .date) {
                Text("")
            }
            .padding(10)
            .labelsHidden()
            .datePickerStyle(WheelDatePickerStyle())
        }
    }
}