UIDatePicker 适用于 iOS13 及以上和 iOS13 以下

问题描述

支持 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
    }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...