Ios UIDatePicker未正确显示

Ios UIDatePicker未正确显示,ios,swift,cocoa-touch,uidatepicker,Ios,Swift,Cocoa Touch,Uidatepicker,基本上,这个问题是从我更新应用程序以运行iOS 9时开始的。现在,在代码中不做任何更改的情况下,选择器视图上会出现一个白色正方形,但它工作正常 请注意,用户可以隐藏和显示选择器视图及其所在的单元格。如果您需要更多信息,请留言 更新:以下是表格视图的完整屏幕截图: 更新2:当我预览(按空格键)变量调试器中的\u pickerView属性时,将显示以下内容。这让我觉得UIDatePickerView内部有一个奇怪的视图,这是一个bug 更新3:广泛研究 因此,我最终使用视图检查器和调试器进行了

基本上,这个问题是从我更新应用程序以运行iOS 9时开始的。现在,在代码中不做任何更改的情况下,选择器视图上会出现一个白色正方形,但它工作正常


请注意,用户可以隐藏和显示选择器视图及其所在的单元格。如果您需要更多信息,请留言

更新:以下是表格视图的完整屏幕截图:

更新2:当我预览(按空格键)变量调试器中的
\u pickerView
属性时,将显示以下内容。这让我觉得UIDatePickerView内部有一个奇怪的视图,这是一个bug

更新3:广泛研究 因此,我最终使用视图检查器和调试器进行了更多的研究,得出了一些结论,尽管我仍然不知道如何解决它。 使用视图层次调试器,我找到了白色奇怪视图,它是
UIPickerTableView
内部的
UIDatePicker

在这里,我们可以看到以蓝色选择的主题及其名称出现在屏幕顶部。我还编写了从picker视图到主题的整个层次结构,以便您可以看到它

下一步是使用调试器检查我的
datePicker
var,看看我是否可以访问导致问题的
UIPickerTableView
。在它里面我可以找到3个视图,每个视图对应于每个组件(天、月、年)。让我向您展示以下各项的快速外观:

单击图片以放大

在第一个和第三个(一天和一年)中,我们可以看到在带有数字的实际标签旁边的一些错误视图。如屏幕截图所示,这些属性是
UIPickerColumnViews
。我没有进一步说明,但您可以想象,如果我们检查该属性,我们会发现主题为
UIPickerTableView

毕竟,我得出的结论是,这些观点的错位可能是问题的根源。今天就到这里

最后更新
因此,在提交缺陷报告几天后,苹果公司作出了答复,并将其标记为副本。所以我想我们只能等他们修好了。你可以在

查看雷达,这里有一个对我有效的方法:如果你将UITableView分隔符样式更改为“无”,问题就会消失。似乎是苹果端的一个bug,就像我们在iOS 9.9中发现的许多问题一样,我也有同样的问题,我发现这是因为我的UIDatePicker与我的视图控制器的视图是分离的。我在代码中将此视图添加为子视图。为了解决这个问题,我在viewDidLoad方法中添加了UIDatePicker,这有助于我

Apple开发者关系将我的错误报告标记为重复,因此我猜他们必须解决的是SDK错误。截至发帖时(10月12日),它仍然开放

变通办法
viewDidLoad()
方法中,更改日期选择器的属性,例如模式。您不必更改它,您可以将其设置为任何值,然后将其更改回您实际需要的值。

“用户可以隐藏和显示选择器视图及其所在的单元格”单元格指的是什么?@manish_kumar指的是UITableViewCell,选择器指的是UITableView单元格。当用户点击选择日期单元格时,另一个单元格将显示在UIDatePickerView的右下方。当你创建约会时,这种行为与日历应用程序中的行为类似。你能上传模拟器的全屏截图以便更容易理解吗?@manish_kumar查看更新的内容。如果你的UITableView单元格中包含除日期选择器以外的任何子视图?如果是,请尝试
bringSubviewToFront
方法。对我不起作用。分隔符消失了(正如它们应该消失的那样),但是白色区域的bug仍然存在。很好的解决方案-而且它是有效的:)我不能相信每个版本都有越来越多的UI bug。我只是花了30分钟在这个问题上。如果不是你,我会花更多时间的,谢谢!