我在iOS9模拟器中使用Xcode beta 7。使用UIDatePicker和datePickerMode of UIDatePickerModeTime只显示小时,而不显示分钟。
见截图:

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

我真的不想重新发明轮子和滚动我自己的时间选择。对于为什么会发生这种情况,以及如何解决,有什么想法吗?我在谷歌上什么都找不到。
谢谢,亚历克斯
发布于 2015-10-14 16:56:08
在iOS 9发行说明中找到了对这个问题的有用描述--似乎我应该更仔细地阅读这些内容。
UIPickerView和UIDatePicker现在是可调整大小的,而且是自适应的--以前,即使您试图调整它们的大小,这些视图也会强制执行默认大小。这些视图现在默认为所有设备上的320点宽度,而不是iPhone上的设备宽度。在为iOS 9编译时,依赖于旧的默认大小强制执行的接口可能看上去是错误的。遇到的任何问题都可以通过完全约束或调整选择器视图的大小来解决,而不是依赖于隐式行为。
在我的例子中,我所要做的就是删除UIDatePicker上的所有约束,然后“重置为建议的约束”。重建,现在一切都好了。
发布于 2015-09-18 08:59:07
在使用iOS 9.0的UIDatePicker在我的表视图中使用UIDatePickerModeDate的公开发行版之后,我遇到了这种情况。
我在UIDatePicker模式显示之前更改了它,然后将它更改回所需的模式,从而对其进行了黑客攻击:
[myDatePicker setDatePickerMode:UIDatePickerModeDateAndTime];
[myDatePicker setDatePickerMode:UIDatePickerModeDate];我猜重绘能解决这个问题。出于兴趣考虑,我不认为这实际上是一个不显示会议记录的问题,而是子视图中的一个bug,因为这是我的样子:

使用FLEX进行检查,这是具有坚实的白色背景的UIDatePicker的一部分。

发布于 2015-09-24 01:30:58
在将Xcode升级到7.0时,我遇到了一个问题。
当显示UIDatePicker时,中间部分是空白的,正如洛德-帕斯利的回答所示。
UIDatePicker for iOS 9的高度为216;而早期版本的高度为162,迫使高度达到162解决了这个问题。
由于我的视图是在情节提要中定义的,所以我在UIDatePicker上设置了一个高度约束,并在视图的iOS版本< 9.0中将高度设置为162 (视图的viewDidLoad )。
- (void) viewDidLoad {
[super viewDidLoad];
if ([[[UIDevice currentDevice] systemVersion] floatValue] < 9.0) {
//
// NOTE: iOS 9, or Xcode 7, now sets UIDatePicker height at 216; whereas,
// iOS 8, or Xcode 6.x, set it at 162.
//
// If the height is left at 216, then on iOS 7.1, the middle portion of the
// UIDatePicker control is missing. Setting the hieght to 162 fixes the issue
// within this application.
//
// UIDatePicker frame cannot be used to adjust the size, therefore use a
// height contraint to change the size.
//
self.dateHeightConstraint.constant = 162;
}
}https://stackoverflow.com/questions/31709525
复制相似问题