安装的 Xcode 16 Storyboard 约束未应用尺寸类别

问题描述 投票:0回答:1

使用情节提要板并添加通过 Size Class

wR hR
安装的约束时,在 iPad 模拟器或真实设备上构建时不会应用正确的约束。仅应用使用
wC hR
安装的约束。

此问题发生在 Xcode 16 和 Xcode 16.1 上,但不会发生在 Xcode 15 版本中。为了帮助验证我已经创建了一个示例项目并且能够在那里重新创建问题。

我还向 Apple 提交了有关此问题的反馈 (FB15647804),并包含以下步骤以使用该示例项目重新创建,但他们尚未回复。

重现步骤:

  1. 从这个公共 git 存储库运行链接的 Xcode 项目
    SizingClassTest
    https://github.com/bmjohns/SizingClassTest,它有 1 个标签 已安装
    wC hR
    的约束并安装了另一个约束 与
    wR hR
  2. 在 iPad 18+ 模拟器上构建
  3. 选择按钮可查看带有具有尺寸类别限制的标签的页面
  4. 查看标签出现在视图顶部,它应该出现在底部(每个故事板)
  5. 在 iPhone 模拟器 18+ 上运行,查看标签按预期出现在顶部

谁能帮忙确认一下这个问题是否也发生在他们身上?

ios ipad storyboard xcode16
1个回答
0
投票

自上一篇文章以来,我确实有了一些发现(但我也发布了此文章的 Apple 反馈没有回复)。

  1. 我的工作项目遇到了一个问题,我以编程方式设置尺寸类来绕过 Xcode 16 选项卡栏更新(现在在 iPad 或尺寸类
    wR, hR
    中显示不同)。删除它解决了大部分问题。
    traitOverrides.horizontalSizeClass = .compact
  2. 在示例项目中,我分享了取决于尺寸类别的约束也取决于您如何呈现
    ViewController
    。如果您呈现
    automatically
    或以非整页方式(即
    full screen
    ),则尺寸类别
    wR, hR
    将不适用。我相信 Xcode 16 中仍然存在一个错误,故事板的 GUI 不会显示这种区别,而只会在 sim 或设备上运行时显示。如果您采用我的示例项目并将第二个 VC 的演示风格更改为
    full screen
    ,它将在构建时正确应用
    wR, hR
© www.soinside.com 2019 - 2024. All rights reserved.