Anyone find that UIDatePicker is broken under iOS 14?

To add some additional information to Oscar’s answer…

UIDatePicker now has three different styles, as per documentation here and here. The date picker’s style is accessible by the .preferredDatePickerStyle property which can be set to four different cases:

  1. .automatic – A style indicating that the system picks the concrete style based on the current platform and date picker mode.
  2. .compact – A style indicating that the date picker displays as a label that when tapped displays a calendar-style editor.
  3. .inline – A style indicating that the date pickers displays as an inline, editable field.
  4. .wheels – A style indicating that the date picker displays as a wheel picker.

If you want things to look how they did pre iOS 14, stick with the .wheels style. It is also worth noting that not all styles can accommodate all date and time settings, hence why you can only set a preferred style.

Lastly, this property is only available in iOS 13.4 or newer, so you will have to accomplish version control with something like:

if #available(iOS 13.4, *) {
    yourDatePicker.preferredDatePickerStyle = UIDatePickerStyle.automatic
} else {
    // Fallback on earlier versions

Leave a Comment