MyUIDatePicker(带有style .compact)默认设置为Today,并且总是使用时区UTC。
cell.datePicker.subviews[0].backgroundColor = nil
cell.datePicker.backgroundColor = .secondarySystemGroupedBackground
cell.datePicker.timeZone = TimeZone(identifier: "UTC")
cell.datePicker.date = flight.date
cell.datePicker.addTarget(self, action: #selector(handleDatePicker(sender:)), for: UIControl.Event.valueChanged)
点击文本字段“2023年1月11日”后,将显示日历样式的编辑器。然而,日期设置为今天(2023年1月11日),但它最初显示的月份为“2022年12月”。
在我点击箭头(下个月)后,日期(1月11日)被正确地预先选择。
预期的行为应该是在点击文本“Jan 11,2023”后,显示月份“Jan 2023”,并预先选择Jan 11。只有当日期设置为“today”,但UTC日期和本地日期不同时,才会重新产生此错误。例如,我在UTC+8时区。日期设置为“2023-01-11 17:30:00 +0000”。当UTC时间为Jan 11,2023 17:30 Z,本地时间为Jan 12,2023 01:30 L时,它将在模态视图首次显示时显示“December 2022”。
1条答案
按热度按时间9wbgstp71#
这是iOS 16.4之前的一个已确认的错误。在Apple反馈报告ID为FB11946646的三个月后,该错误现已在iOS 16.5 beta 2之后得到解决。