【问题标题】:UItableViewCell with UIDatePicker : month column gets covered带有 UIDatePicker 的 UItableViewCell :月份列被覆盖
【发布时间】:2014-11-10 15:51:50
【问题描述】:

UIDateTimePicker 在 InterfaceBuilder Xcode 6.1 中放置在 UITableViewCell 的 contentView 上被白色瓷砖覆盖。如何预防?

【问题讨论】:

  • 不可能。 Xcode Interface Builder 中有一个错误,它使 Xcode 中的可视化工具创建的所有选择器都带有空白方块。对于这个版本的 Xcode,唯一可以在代码中创建任何选择器的解决方案!
  • 天啊#$!@ 你一定是在开玩笑吧。现在用代码创建东西?!

标签: objective-c uitableview uidatepicker


【解决方案1】:

更新:此问题自 iOS9 beta 5 起已解决。(2015.08.24)

iOS8 上的 UIDatePicker 似乎存在错误。我们刚刚在 iPad 的纵向模式下注意到了这一点:

@BS4248 - 这和你看到的一样吗?对我们来说,缺少 Hour 列而不是 Month 列。它不会发生在任何运行 iOS7 的设备上,也不会发生在 iPhone 上。

我很好奇这里发生了什么,所以我在调试器控制台中将日期选择器的背景颜色设置为红色:

expr [cell.datePicker setBackgroundColor:[UIColor redColor]]

似乎有什么东西覆盖或破坏了 datepicker 中的 Hour 列,但是在尝试拆开选择器几个小时后,我偶然发现了一些可以为我们修复它的东西。我们设置了尾随和前导约束以将 UIDatepicker 拉伸到屏幕的整个宽度。当我删除那些它再次正确呈现时:

现在,当我将背景设置为红色时,您可以看到它要窄得多:

【讨论】:

  • Xcode 6.2 (6C131e) 中仍未修复。更糟糕的是,当唯一的约束是 Center X 到 SuperviewCenter Y 到 Superview 时,not 避免了错误。我想我将不得不在代码而不是 Storyboard 中创建 UIDatePicker。
  • 我正在使用固定的左上角和固定的高度和宽度约束,但我仍然遇到这个错误,我不明白这个答案,或者至少无法重新创建它。
  • @Siegfoult - 据我所知,UIDatePicker 需要确定自己的高度/宽度,否则无法正确绘制。尝试删除固定大小限制。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多