使用情节提要板并添加通过 Size Class
wR hR
安装的约束时,在 iPad 模拟器或真实设备上构建时不会应用正确的约束。仅应用使用 wC hR
安装的约束。
此问题发生在 Xcode 16 和 Xcode 16.1 上,但不会发生在 Xcode 15 版本中。为了帮助验证我已经创建了一个示例项目并且能够在那里重新创建问题。
我还向 Apple 提交了有关此问题的反馈 (FB15647804),并包含以下步骤以使用该示例项目重新创建,但他们尚未回复。
重现步骤:
- 从这个公共 git 存储库运行链接的 Xcode 项目
:https://github.com/bmjohns/SizingClassTest,它有 1 个标签 已安装SizingClassTest
的约束并安装了另一个约束 与wC hR
wR hR
- 在 iPad 18+ 模拟器上构建
- 选择按钮可查看带有具有尺寸类别限制的标签的页面
- 查看标签出现在视图顶部,它应该出现在底部(每个故事板)
- 在 iPhone 模拟器 18+ 上运行,查看标签按预期出现在顶部
谁能帮忙确认一下这个问题是否也发生在他们身上?
自上一篇文章以来,我确实有了一些发现(但我也发布了此文章的 Apple 反馈没有回复)。
wR, hR
中显示不同)。删除它解决了大部分问题。 traitOverrides.horizontalSizeClass = .compact
ViewController
。如果您呈现 automatically
或以非整页方式(即 full screen
),则尺寸类别 wR, hR
将不适用。我相信 Xcode 16 中仍然存在一个错误,故事板的 GUI 不会显示这种区别,而只会在 sim 或设备上运行时显示。如果您采用我的示例项目并将第二个 VC 的演示风格更改为 full screen
,它将在构建时正确应用 wR, hR