UIDatePicker无法正确显示

时间:2015-09-03 11:40:26

标签: ios swift cocoa-touch uidatepicker

基本上,当我更新我的应用程序以使用iOS 9时,此问题就开始了。现在代码中没有任何更改,选择器视图上会出现一个白色方块,但它正常工作。

enter image description here

请注意,用户可以隐藏和显示选择器视图以及他们所在的单元格。如果您需要更多信息,请发表评论。

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

screenshot

更新2 :以下显示我在变量调试器中预览(按栏空间按钮)_pickerView属性的时间。这让我觉得奇怪的视图在UIDatePickerView中,并且它是一个错误。

debugger screenshot

更新3:广泛研究

所以我最终使用视图检查器和调试器进行了更多的研究,我得出了一些结论,尽管我还不知道如何解决它。 使用视图层次结构调试器,我发现白色奇怪视图它是UIPickerTableView内的UIDatePicker

White view selected in the view hierarchy debugger 在这里,我们可以看到以蓝色选择的主题,它的名称位于屏幕顶部。我还将整个层次结构从选择器视图编写到主题,以便您可以看到它。

下一步是使用调试器检查我的datePicker var,看看是否可以导致UIPickerTableView导致问题。在其中我可以找到 3个视图,每个视图对应于每个组件(日,月,年)。让我告诉你每一个的快速外观:

点击图片放大

在第一个和第三个(日和年)中,我们可以看到实际标签旁边的一些错位视图与数字相似。正如您在屏幕截图中看到的,这些属性为UIPickerColumnViews。我没有进一步,但你可以想象,如果我们检查该属性,我们会发现主题UIPickerTableView

毕竟我得出的结论是,这些观点的错位是可能引起问题的原因。这就是今天的一切。

最终更新

因此,在提交错误报告后的几天,Apple回答并将其标记为重复。所以我想我们必须等待他们修复它。您可以在rdar://22566989

查看雷达

3 个答案:

答案 0 :(得分:7)

Apple Developer Relations将我的错误报告标记为重复,因此我猜这是他们必须解决的SDK错误。截至本文发布时间(10月12日)仍然开放。

解决方法

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

答案 1 :(得分:0)

以下是适用于我的黑客攻击:如果将UITableView分隔符样式更改为“无”,问题就会消失。看起来像是苹果公司的一个错误,就像我们在iOS 9.9中发现的众多问题一样

答案 2 :(得分:0)

我有同样的问题,我发现这是因为我的UIDatePicker与我的视图控制器的视图是分开的。我将此视图添加为代码中的子视图。为了解决这个问题,我在viewDidLoad方法中添加了UIDatePicker,这对我有所帮助