SwiftUI 如何创建日期选择器 DatePicker 并从中读取值?

7 min read

要创建 DatePicker,并从中读取值,可以按照以下步骤进行操作:

  1. 创建一个属性来存储选择的日期,例如:
@State private var selectedDate = Date()
  1. 在视图中创建 DatePicker,代码如下:
DatePicker("选择日期", selection: $selectedDate, displayedComponents: .date)

此处的 "选择日期" 是 DatePicker 的标签,selection 属性将选择的日期绑定到 selectedDate 属性。

  1. 在需要使用选择的日期的地方,使用 selectedDate 属性即可。

例如:

Text("你选择的日期是:\(selectedDate, formatter: dateFormatter)")

此处的 dateFormatter 是一个 DateFormatter,用于将日期格式化为字符串。

完整的代码示例:

import SwiftUI

struct ContentView: View {
    @State private var selectedDate = Date()
    let dateFormatter: DateFormatter = {
        let formatter = DateFormatter()
        formatter.dateStyle = .long
        return formatter
    }()
    
    var body: some View {
        VStack {
            DatePicker("选择日期", selection: $selectedDate, displayedComponents: .date)
                .padding()
            
            Text("你选择的日期是:\(selectedDate, formatter: dateFormatter)")
                .padding()
            
        }
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}