iOS 14.0 UIDatePicker 适配

iOS14 以后UIDatePicker 新增了样式,并且默认为新样式,长这样:


造成这种情况的原因在于 iOS 13.4 新增了2个属性 preferredDatePickerStyle 和 datePickerStyle

而 preferredDatePickerStyle 在 iOS14 以上被默认为UIDatePickerStyleAutomatic,就会显示新增的 UIDatePickerStyleInline 效果,如果我们需要按之前的经典样式显示,则需要判断系统版本适配

1. 代码布局适配

在原代码基础上需要加入以下代码,调整样式:

if (@available(iOS 13.4, *)) {

        self.datePickerMy.preferredDatePickerStyle = UIDatePickerStyleWheels;

   }

*提示:设置 style 之后,还需要重新设置 picker 的 frame,否则布局宽高会有异常

2. XIB 布局

xib 适配相对简单,只需要将 Style 设置为 Wheels 即可显示为经典样式,如下图:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。