UIDatePicker 渲染在 Xcode 13 (iOS 15) 中右对齐

UIDatePicker rendering is getting right aligned in Xcode 13 (iOS 15)

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

您可以看到我的故事板已正确设置并带有约束:

这个 UI 元素工作正常,即使我在设备 运行 iOS 15 上下载我的应用程序的 App Store 版本,它也能正确呈现。它只是用 Xcode 13 编译它,乱七八糟的。

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

紧凑型日期选择器 (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 告诉我这是预期的行为:

Engineering has provided the following information regarding this issue:

This is intentional and not a bug. We right-align the UIDatePicker pills for compact. Please know that if you want to change the alignment of the UIDatePicker controls on iOS 15, we now support UIControl.contentHorizontalAlignment to do just that.

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

datePicker.contentHorizontalAlignment = .left