Osc*_*car 31 xcode interface-builder uidatepicker ios
在 iOS 14 下,我的应用程序中的日期/时间选择器已损坏。项目中没有任何变化。它们在故事板中定义并且运行良好,直到我几天前更新。
现在他们不是纺纱厂;它们是带有静态文本的大灰色框。
更新:Apple 通过将日期/时间选择器的样式默认为“自动”而不是“轮子”(以前存在的唯一样式,并且每个人的现有屏幕布局都是为它设计的)破坏了现有项目。请参阅下面的 Sanzio 的回答。
San*_*eli 47
在奥斯卡的回答中添加一些额外的信息......
UIDatePicker根据此处和此处的文档,现在具有三种不同的样式。日期选择器的样式可由.preferredDatePickerStyle属性访问,该属性可以设置为四种不同的情况:
.automatic - 指示系统根据当前平台和日期选择器模式选择具体样式的样式。.compact - 指示日期选择器显示为标签的样式,点击时会显示日历样式的编辑器。.inline - 指示日期选择器显示为内联、可编辑字段的样式。.wheels - 指示日期选择器显示为轮选择器的样式。如果你想看看它们在 iOS 14 之前的表现,请坚持使用 .wheels风格。还值得注意的是,并非所有样式都可以容纳所有日期和时间设置,因此您只能设置首选样式。
最后,此属性仅在 iOS 13.4 或更高版本中可用,因此您必须使用以下内容完成版本控制:
if #available(iOS 13.4, *) {
yourDatePicker.preferredDatePickerStyle = UIDatePickerStyle.automatic
} else {
// Fallback on earlier versions
}
Run Code Online (Sandbox Code Playgroud)
小智 14
if #available(iOS 13.4, *) {
datePicker.preferredDatePickerStyle = .wheels
}
Run Code Online (Sandbox Code Playgroud)
小智 9
如果有人在寻找目标 C
if (@available(iOS 13.4, *)) {
datePicker.preferredDatePickerStyle = UIDatePickerStyleWheels;
}
Run Code Online (Sandbox Code Playgroud)
事实证明,Apple 添加了第二个非常不同风格的 UIDatePicker,并莫名其妙地将其设为旧项目的默认设置。
您现在必须进入所有日期/时间选择器的设置并将样式从“自动”更改为“轮子”。“自动”基于什么以及为什么它不默认为以前唯一存在的样式是未知的。
| 归档时间: |
|
| 查看次数: |
15220 次 |
| 最近记录: |