首页 > 解决方案 > XCODE:标签约束表现得很奇怪

问题描述

我有一个带有以下约束的标签:

它在 iPhone 11 上运行良好,但在 iPhone 8 上却表现得很奇怪。当它是 iPhone 8 或这种尺寸的手机时,我将顶部约束常数从 29 调整到 10,并对旁边的红色星号标签做了同样的事情(那个是 25 到 6),但是当我运行它时在 iPhone 8 等较小的手机上,它看起来像这样:

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

星号:

看法:

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

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

标签: iosswiftxcodeviewconstraints

解决方案


情侣小贴士...

  • 一步一步来。
  • 为您的 UI 元素提供对比背景颜色,以便于查看框架
  • 在您处理布局时使用“预览”窗格

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

在此处输入图像描述

添加您的名称及其星号标签并设置它们的约束。注意:将星号标签的顶部限制在名称标签的顶部,以帮助它们保持在一起:

在此处输入图像描述

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

在此处输入图像描述

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

在此处输入图像描述

估计高度文本字段:

在此处输入图像描述

继续,检查预览窗格中的布局 - 并运行应用程序以在运行时仔细检查布局 - 一次添加每个元素。

在此处输入图像描述

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


推荐阅读