【问题标题】:Adding vertical spacing constraint causes conflicts with height添加垂直间距约束导致与高度冲突
【发布时间】:2021-12-11 16:04:17
【问题描述】:

我只是在玩自动布局。在我的视图中,我在顶部添加了一个标签,在该标签下方添加了一个文本字段,在该标签下方添加了另一个文本字段。我希望他们每个人都有一个固定的高度。我添加了约束,它工作正常。然后我想在视图的底部添加一个按钮。我添加了按钮,然后我使用了添加缺少的约束选项。它有效,但在 iphone 4s 上我注意到该按钮与第二个文本字段重叠。所以我认为我应该在文本字段和按钮之间添加一个垂直间距约束。当我添加它时,我得到了自动布局冲突。您能否向我解释为什么会发生这种情况以及如何解决?任何帮助表示赞赏。

【问题讨论】:

  • 使用 StackView 代替
  • 按钮上的StackView?
  • 全屏
  • 我选择了视图上的每个项目并添加了 stackview,但一切都改变了。我需要查看有关 stackview 的教程以及它如何与布局一起使用。

标签: ios objective-c autolayout


【解决方案1】:

iPhone 4s 的屏幕逻辑高度为 480。使用“添加缺失约束”,添加了约束以支持您在情节提要上拥有的设备的屏幕高度。例如,如果它的 iPhoneX,屏幕高度是 812。所有视图的高度都是固定的,它们之间的间距是固定的。屏幕截图上所有间距和高度的总和为 798+。所以这种布局根本不适合 iPhone 4s 或其他屏幕高度较小的设备。

修复它的方法 - 将登录按钮和文本字段(屏幕截图上的 346.3)之间的约束设置为大于等于 10,以设置最小空间并让它在不同的屏幕高度上调整大小。而且我不建议使用自动添加约束。

【讨论】:

  • 我应该设置什么样的约束?如果我设置垂直间距约束,我会遇到我提到的冲突......
  • @stefanosn Contraint 346.3 - 它有什么关系?
  • 我告诉你的垂直间距关系...
  • @stefanosn 这个约束关系是“等于”还是“大于等于”还是其他?
  • 你好......它是平等的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 2020-09-20
  • 1970-01-01
相关资源
最近更新 更多