在 SwiftUI 中创建具有特定日期的 DatePicker
Posted
技术标签:
【中文标题】在 SwiftUI 中创建具有特定日期的 DatePicker【英文标题】:Create DatePicker with specific date in SwiftUI 【发布时间】: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 日。
我该怎么做?
【问题讨论】:
【参考方案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.current
的DateComponents
初始化程序指定任何组件,例如年、月、日、小时等。
您需要像这样初始化date
变量:
@State private var date: Date = Calendar.current.date(from: DateComponents(year: 1987, month: 8, day: 27)
【讨论】:
以上是关于在 SwiftUI 中创建具有特定日期的 DatePicker的主要内容,如果未能解决你的问题,请参考以下文章