【问题标题】:UIDatePicker Cutting Off Text & Not Displaying DaysUIDatePicker 截断文本和不显示日期
【发布时间】:2014-09-10 01:17:43
【问题描述】:

我的应用突然无法正确显示 UIDatePickers。我正在使用故事板。 Datepickers 设置为仅显示日期。他们正在切断月份,甚至不显示日期。中间有一个很大的空间。我尝试过清理项目、重置模拟器、检查本地化设置并检查是否设置了动态类型大小。我使用的是 Xcode 5.1.1,但同样的事情发生在 Xcode 6 的测试版中。任何建议都将不胜感激。

【问题讨论】:

  • 完全相同的行为。但我目前只有在键盘为 en_US 并且在 iPad 上使用 iOS 8 时才会遇到这种情况。相同的设置适用于 iPhone 或其他语言 (de_de)。目前,iOS 模拟器中的 iOS 8.1.1/Xcode 6.1.1 存在错误,因此我无法在此处测试其他语言。
  • 现在我在我的测试项目显示同样的问题后填写了一份错误报告。
  • 你能在一个临时项目中重现这个问题吗?
  • 非常容易。将UIDatePicker 放入静态UITableViewCell,将其设置为仅日期格式并启动一个iPad 模拟器。我做了一个测试项目here。这发生在 iOS 8.1 和 iOS 8.1.1 上。 iOS 7 运行良好。
  • 好的,我修好了。只需使用自动布局并将选取器的顶部、侧面和底部设置为单元格容器即可解决问题。我还是会举报的。这是修复的文件www72.zippyshare.com/v/3974396/file.html

标签: ios objective-c xcode uidatepicker


【解决方案1】:

好的,我想通了。这是由于尝试在 tableView 背景颜色上使用 UIAppearance 造成的。这从表面上看与 tableViews 无关,但 Apple 必须为 PickerViews 私下使用 tableView。因此,我尝试通过 tableView 背景颜色上的类别设置 UIAppearance 似乎做了一些意想不到的事情。学过的知识。不要尝试在未得到官方支持的情况下使用 UIAppearance。

【讨论】:

  • 完全相同的行为——除了我不使用 UIAppearance。 UIDatePicker 只是位于 UITableViewCell 内。我在不同的 UITableView 中有完全相同的设置,它正在工作。
  • 两个tableView是同一种类型吗?似乎选择器可能是某种可滚动的 tableView。但是,如果你让它在一个地方而不是另一个地方工作,那么一定会有某种差异。我会查看 tableView 类型,然后查看单元格的字体设置,因为这可能会以某种方式被选取器拾取。解决后回帖。我很想知道结果是什么。
  • 我遇到了同样的问题,仅在 iPad 上,单元格内有 UIDatePicker。我有一些UIAppearance 的东西,但在UITableView 上没有,我将它们全部删除以进行测试,问题仍然存在。我也没有触摸表格视图的backgroundColor,它是默认的白色。
  • @lukech 确保关闭所有要测试的 UIAppearance,尤其是任何滚动视图。要查看的另一件事是选择器的内在内容大小,单元格可能会覆盖它。我只是猜测,因为我没有遇到过这个问题。解决后回帖。
【解决方案2】:

我遇到了同样的问题,它与我的故事板中的重复约束有关。我一直在实现 iPhone 6 的宽度,但无意中最终得到了 width = 320width >= 320。删除 width = 320 立即修复它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多