【问题标题】:UIDatePicker issues in popovers on iOS 8iOS 8 上的弹出窗口中的 UIDatePicker 问题
【发布时间】:2014-09-18 14:59:18
【问题描述】:

还有其他人在 iOS 8 的弹出窗口中遇到 UIDatePickers 问题吗?突然我们的日期选择器没有正确显示(见截图)。选择器的一部分似乎没有显示(不过,您仍然可以与丢失的部分进行交互以更改时间)。

我做了一些测试,日期选择器在其他视图中显示完美,所以这与弹出框或在非全屏视图中显示选择器有关。

有没有人找到解决这些问题的方法或解决方法?

【问题讨论】:

  • 它不仅适用于popovers,也适用于tableview。

标签: ios objective-c ios8 uidatepicker


【解决方案1】:

我在 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 中,它就像一个魅力。谢谢纳兹!

【讨论】:

  • 太棒了。像魅力一样工作!感谢您提出这个问题:)
  • 知道如何快速解决这个问题吗?
猜你喜欢
  • 2015-12-13
  • 1970-01-01
  • 2011-01-19
  • 1970-01-01
  • 2011-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多