iOS9:UIDatePicker与datePickerMode的UIDatePickerModeTime只显示小时,没有分钟

Fra*_*ock 10 xcode uidatepicker uidatepickermodetime ios9 xcode7

我正在使用Xcode beta 7和iOS9模拟器.使用带有UIDatePickerModeTime的datePickerMode的UIDatePicker只显示小时数,而不是分钟数.

看截图:

在此输入图像描述

在iOS 7和8上,显然它按预期工作,并显示小时和分钟.截图:

在此输入图像描述

我真的不想重新发明轮子并滚动我自己的时间选择器.关于为什么会发生这种情况以及如何解决的任何想法?我在谷歌上找不到任何东西.

谢谢,亚历克斯

Lor*_*ley 23

我在桌面视图中使用UIDatePickerModeDate在iOS 9.0的公开发布后遇到了这个问题.

我通过在显示之前更改UIDatePicker模式,然后将其更改回所需的模式来攻击它:

[myDatePicker setDatePickerMode:UIDatePickerModeDateAndTime];
[myDatePicker setDatePickerMode:UIDatePickerModeDate];
Run Code Online (Sandbox Code Playgroud)

我猜它重绘它解决了这个问题.出于利益的考虑,我认为这实际上不是显示会议记录的问题,而是子视图中的错误,因为这是我的看法:

带有白色阻塞空间的UIDatePicker.

检查使用FLEX,这是具有纯白色背景的UIDatePicker的一部分.

子视图中的UIDatePicker错误.

  • 这很奏效,很奇怪,感谢您将它公开,这确实令人不安。 (2认同)

And*_*tle 8

在iOS 9发行说明中找到了对此问题的有用描述 - 似乎我应该更仔细地阅读这些内容.

UIPickerView和UIDatePicker现在可以调整大小和自适应 - 以前,即使您尝试调整它们的大小,这些视图也会强制执行默认大小.现在,这些视图在所有设备上的默认宽度均为320点,而不是iPhone上的设备宽度.在针对iOS 9编译时,依赖于旧的默认大小强制执行的接口可能看起来不正确.遇到的任何问题都可以通过将选择器视图完全约束或调整大小到所需大小来解决,而不是依赖于隐式行为.

iOS 9发行说明

在我的情况下,我所要做的就是删除UIDatePicker上的所有约束,然后"重置为建议的约束".重建,现在一切都很顺利.