问题描述
为支持 iOS14 的 UIDatePicker 实现,但也需要支持 iOS 12。如何为 iOS12 实现相同的功能。下面是我的代码:
datePicker = UIDatePicker.init()
datePicker.backgroundColor = UIColor.white
datePicker.maximumDate = Date()
datePicker.autoresizingMask = .flexibleWidth
datePicker.datePickerMode = .date
if #available(iOS 13.4,*) {
datePicker.preferredDatePickerStyle = .compact
} else {
// Fallback on earlier versions
}
datePicker.addTarget(self,action: #selector(self.dateChanged(_:)),for: .valueChanged)
iOS12 中的错误:
preferredDatePickerStyle' is only available in iOS 13.4 or newer
在 iOS 13 下检查要实现什么?
解决方法
无需为 < iOS 13.4
版本指定任何内容。 UIDatePicker
将在旧版本中正常工作,无需指定此值。
如果您还想在新设备 iOS 12
上强制使用旧的 iOS 14 or above
样式,您可以使用 -
if #available(iOS 13.4,*) {
datePicker.preferredDatePickerStyle = .wheels
}
,
在 iOS 13
下,您可以使用自动。
if #available(iOS 13.4,*) {
datePicker.preferredDatePickerStyle = .compact
} else {
// Fallback on earlier versions
datePicker.preferredDatePickerStyle = .automatic
}