XCODE:标签约束行为怪异

XCODE: Label constraints acting weird

我有一个具有以下限制的标签:

它在 iPhone 11 上工作正常,但在 iPhone 8 上它表现得很奇怪。当它是 iPhone 8 或那个大小的 phones 时,我将顶部约束常数从 29 调整为 10,并对旁边的红色星号标签执行相同的操作(25 到 6那个),但是当我 运行 它在较小的 phone 上时,比如 iPhone 8,它看起来像这样:

我尝试了很多方法来解决这个问题,但都无济于事。这是星号的约束,下面是视图(包含文本字段的视图。您只能看到文本字段外的黑色部分。)

星号:

查看:

为了以防万一,顶部的导航栏:

您看到的导航栏对名称标签和名称必填标签的约束是分别从每个标签设置的。它只是出现在导航栏约束中,因为它适用于它。就像我说的,当 phone 较小时,我会调整这些约束,但它们似乎并没有发挥作用。我将名称标签的约束常量调整为 10,将名称标签调整为 6(每个 -19)。非常感谢任何关于为什么视图仍然看起来很奇怪的帮助。

情侣提示...

  • 接受step-by-step.
  • 为您的 UI 元素提供对比色背景,以便于查看框架
  • 在布局时使用“预览”窗格

因此,添加您的导航栏并设置其约束:

添加您的姓名及其星号标签并设置它们的约束条件。注意:将 Asterisk 标签的顶部限制在 Name 标签的顶部以帮助将它们放在一起:

添加您的姓名文本字段并设置其约束条件:

添加您的估计身高及其星号标签:

估计身高文本字段:

继续,检查预览窗格中的布局 - 运行 应用 double-check run-time 的布局 - 一次添加每个元素。

如果布局突然改变,你就知道你做错了什么。