問題のコード
datePicker.backgroundColor = .orange
if #available(iOS 13.4, *) {
datePicker.preferredDatePickerStyle = .wheels
}
Xcode 12対応をしていてこんなコードを書いたら背景色が変わらなくなってしまったときの調査メモ。
調査メモ
let datePicker = UIDatePicker()
datePicker.backgroundColor = .orange //=> UIExtendedSRGBColorSpace 1 0.5 0 1
datePicker.preferredDatePickerStyle = .wheels //=> UIExtendedGrayColorSpace 0 0
datePicker.backgroundColor = .orange //=> UIExtendedSRGBColorSpace 1 0.5 0 1
datePicker.preferredDatePickerStyle = .inline //=> (nil)
datePicker.backgroundColor = .orange //=> UIExtendedSRGBColorSpace 1 0.5 0 1
datePicker.preferredDatePickerStyle = .compact //=> (nil)
スタイルを設定すると背景色が初期化されちゃいますよっと。
修正後のコード
if #available(iOS 13.4, *) {
datePicker.preferredDatePickerStyle = .wheels
}
datePicker.backgroundColor = .orange