【问题标题】:UIDatePicker rendering is getting right aligned in Xcode 13 (iOS 15)UIDatePicker 渲染在 Xcode 13 (iOS 15) 中正确对齐
【发布时间】:2021-11-16 13:40:04
【问题描述】:

我使用 Xcode 13iOS 15 编译了我的应用,我注意到 UIDatePicker 正对齐。

您可以看到我的情节提要正确设置了约束:

这个 UI 元素运行良好,即使我在运行 iOS 15 的设备上下载了我的应用程序的 App Store 版本,它也能正确呈现。它只是用 Xcode 13 编译它,搞砸了。

还有其他人遇到这个问题吗?

【问题讨论】:

  • 在 Xcode 13 的公开发行版中也存在此问题 :(
  • 是的!同样的问题。

标签: xcode uidatepicker ios15 xcode13


【解决方案1】:

紧凑型日期选择器 (UIDatePicker) 的旧行为是左对齐(Xcode 12 + iOS 14),但现在 Xcode 13 是右对齐。

我在使用 Xcode 13 时遇到了同样的问题,并找到了解决方案 here

    if #available(iOS 15.0, *) {
        // make date picker align to left in Xcode 13 with iOS 15
       datePicker.subviews.first?.semanticContentAttribute = .forceRightToLeft
    }

【讨论】:

  • 谢谢,这似乎已经解决了。我只是有点担心这是否太脆弱?
  • 这个解决方案在技术上是可行的,但作为一个仅供参考,它交换了时间和日期字段(时间显示在日期的左侧,而不是应有的右侧)。
  • 我正在使用仅日期选择器,所以我没有注意到这一点。看来最终的解决方案是等待 Apple 让我们自定义日期选择器的对齐方式……
  • 我只使用日期,这个解决方案似乎不起作用。选择器左对齐,我正在尝试将其固定在右侧。
  • 啊,好赶上@jwuki,刚刚意识到时间在日期的左侧。不理想。也许与正确对齐的整个事物一起生活会更好?哈哈
【解决方案2】:

对此进行快速跟进 - 我通过反馈助手提交了此问题,Apple 告诉我这是预期行为:

Engineering 提供了以下相关信息 问题:

这是故意的,而不是错误。我们右对齐 UIDatePicker 紧凑的药丸。请知道,如果你想改变 iOS 15 上 UIDatePicker 控件的对齐方式,我们现在支持 UIControl.contentHorizo​​ntalAlignment 就是这样做的。

所以正确的解决方案如下:

datePicker.contentHorizontalAlignment = .left

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    • 2021-01-13
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    • 2022-08-05
    • 2021-04-19
    相关资源
    最近更新 更多