如何用SwiftUI创建日期选择器

657 阅读1分钟

SwiftUI中的DatePicker 表单控件让我们可以创建一个...日期选择器。

它是如何工作的?

首先,我们创建一个类型为Date 的属性。

@State private var dateChosen = Date()

我们使用@State,这样我们就可以从我们的DatePicker 视图中修改这个值。

然后我们将该属性链接到DatePicker 视图。

DatePicker(selection: $dateChosen, in: ...Date()) {
    Text("Pick a date and time")
}

下面是它的样子。

点击每个不同的部分(日期或时间)将显示一个专门的挑选器UI元素。

下面是这个例子的完整代码。

struct ContentView: View {
    @State private var dateChosen = Date()

    var body: some View {
        Form {
            DatePicker(selection: $dateChosen, in: ...Date()) {
                Text("Pick a date and time")
            }
        }
    }
}

你可以通过displayedComponents 属性选择只显示日期中的一个特定元素,比如只显示日期。

DatePicker(selection: $dateChosen, in: ...Date(), displayedComponents: .date) {
    Text("Pick a date and time")
}

或者只显示时间。

DatePicker(selection: $dateChosen, in: ...Date(), displayedComponents: 
.hourAndMinute) {
    Text("Pick a date and time")
}