【问题标题】:Create DatePicker with specific date in SwiftUI在 SwiftUI 中创建具有特定日期的 DatePicker
【发布时间】:2021-09-19 08:17:51
【问题描述】:

我可以创建一个显示特定日期的DatePicker 吗?

这是我的代码:

struct OnlineShop: View {
  @State private var date = Date()
  var body: some View {
    DatePicker(
      "Start Date",
      selection: $date,
      displayedComponents: [.date]
    )}
}

此代码在选择器上显示当前日期。我想显示一个具体的日期,例如 1987 年 8 月 29 日。

我该怎么做?

【问题讨论】:

    标签: ios swift datepicker


    【解决方案1】:

    当然,只需 create your own date 并设置它。

    struct OnlineShop: View {
        @State private var date = Date()
        
        var body: some View {
            Text("Hello, Online!")
            
            DatePicker(
                "Start Date",
                selection: $date,
                displayedComponents: [.date]
            )
            .onAppear {
                let calendar = Calendar(identifier: .gregorian)
                let components = DateComponents(year: 1987, month: 8, day: 29)
                if let customDate = calendar.date(from: components) {
                    self.date = customDate /// set customDate to date
                }
            }
        }
    }
    

    结果:

    【讨论】:

      【解决方案2】:

      这是可能的。您可以使用带有Calendar.currentDateComponents 初始化程序指定任何组件,例如年、月、日、小时等。

      您需要像这样初始化date 变量:

      @State private var date: Date = Calendar.current.date(from: DateComponents(year: 1987, month: 8, day: 27)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-12
        • 2020-04-03
        • 2018-09-30
        • 1970-01-01
        • 1970-01-01
        • 2016-02-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多