还有其他人在 iOS 8 上的弹出窗口中遇到 UIDatePickers 问题吗?突然我们的日期选择器无法正确显示(参见屏幕截图)。似乎选择器的一部分没有显示(不过,您仍然可以与缺失的部分交互来更改时间)。
我做了一些测试,日期选择器在其他视图中完美显示,因此这与弹出窗口或在非全屏视图中显示选择器有关。
有没有人找到这些问题的修复或解决方法?
我在 Apple 开发者论坛(当 Stack Overflow 失败时我的备用知识库)找到了一个解决方案。
用户Natsu有以下解决方案:
我的项目中也有同样的问题。并且它仅在 iPad 上导致
设备(iPhone 使用相同的代码没有问题)。据我了解,
UIDatePicker包含UITableView和UITableViewCell用于显示
选择器内容及其背景颜色默认设置为白色。这
是这个问题的原因。 iOS 7 的 UITableViewCell 为白色
UIDatePicker iOS 8 中的背景具有白色背景的 UITableView
在 UIDatePicker 所以我的解决方案是我设置这些背景颜色
通过使用 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 上使用的颜色。我不确定这是正确的修复方法
问题。但至少在我的环境中它运行良好。我不
知道 UIPickerView 的问题是否是由同样的原因引起的。但
检查视图层次结构可能会对您有所帮助。
由于它使用 UIAppearance,因此您几乎可以将其放在任何地方。我把它放在我的表格单元类中的 awakeFromNib 中,它就像一个魅力。谢谢纳兹!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)