UIDatePicker问题在iOS 8上popup

有没有其他人与iOS 8的popupUIDatePickers的问题? 突然我们的dateselect器没有正确显示(见截图)。 看起来,select器的一部分没有被显示(尽pipe如此,仍然可以与缺less的部分交互以改变时间)。

我做了一些testing,并且dateselect器在其他视图中完美显示,所以它与popup窗口或在不是全屏的视图中显示select器有关。

有没有人发现这些问题的解决方法或解决方法?

UIDatePicker问题在iOS 8上弹出

我在苹果开发者论坛(我的备份知识库,当堆栈溢出失败了我)find了一个解决scheme。

用户Natsu有以下解决scheme:

我的项目中有同样的问题。 它只会导致在iPad设备(iPhone没有问题,相同的代码)。 正如我的理解,UIDatePicker包含UITableView和UITableViewCell用于显示select器内容,其背景颜色默认设置为白色。 这是这个问题的原因。 iOS 7中有UITableViewCell与UIDatePicker中的白色背景iOS 8 UITableView与UIDatePicker中的白色背景所以我的解决scheme是,我使用UIAppearance像这样设置这些背景颜色为零:

[[UITableView appearanceWhenContainedIn:[UIDatePicker class], nil] setBackgroundColor:nil]; // for iOS 8 [[UITableViewCell appearanceWhenContainedIn:[UIDatePicker class], [UITableView class], nil] setBackgroundColor:[UIColor colorWithWhite:0.0 alpha:0.0]]; // for iOS 7 

我设置的值是在iPhone上使用的颜色。 我不确定这是解决问题的正确方法。 但至less在我的环境中,它运作良好。 我不知道是否由于相同的原因导致UIPickerView的问题。 但检查视图层次结构可能会帮助你。

由于这使用UIAppearance,你可以把它放在几乎任何地方。 我把它放在我的表格单元类的awakeFromNib中,它像一个魅力。 谢谢Natsu!