📅  最后修改于: 2023-12-03 15:20:24.703000             🧑  作者: Mango
UIDatePicker 控件用于选择日期和时间。在本文中,我们将重点介绍如何在 Swift 5 中使用 UIDatePicker 控件仅选择日期。
在 Storyboard 上拖动一个 UIDatePicker 控件,或者使用以下代码创建它:
let datePicker = UIDatePicker()
datePicker.datePickerMode = .date
这里我们把 datePickerMode 属性设置为 .date。如果你想选择日期和时间,可以设置 datePickerMode 属性为 .dateAndTime。
当我们需要获取用户选择的日期时,可以使用 datePicker 的 addTarget 方法来监听控件值的变化:
datePicker.addTarget(self, action: #selector(dateChanged(_:)), for: .valueChanged)
等效于:
datePicker.addTarget(self, action: Selector("dateChanged:"), for: .valueChanged)
需要注意的是,我们需要定义一个 dateChanged 方法来获取选定的日期值。
@objc func dateChanged(_ sender: UIDatePicker?) {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy年MM月dd日"
let str = formatter.string(from: sender!.date)
print(str)
}
这里我们定义了一个 DateFormatter,使用 yyyy 年 MM 月 dd 日 的格式返还选定的日期,然后将其打印出来。
如果需要把 datePicker 设置为某个默认日期,可以使用 setDate 方法:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy年MM月dd日"
let date = dateFormatter.date(from: "2020年01月01日")
datePicker.setDate(date!, animated: false)
这里我们设置了一个默认日期为 2020 年 01 月 01 日的 DatePicker。
至此,我们就完成了在 Swift 5 中仅选择日期功能的实现。