【问题标题】:Xcode: align objects with the View Controller marginsXcode:将对象与视图控制器边距对齐
【发布时间】:2018-08-18 10:16:49
【问题描述】:

在这份 Apple 指南的帮助下,我开始学习 Swift:https://itunes.apple.com/it/book/app-development-with-swift/id1219117996?mt=11

现在我被困在一个小问题上,我想了解如何解决,但从指南中看不是很清楚。

我在第 398 页:“Guided Project: Personality Quiz”。

最初我必须在视图控制器的所有角落放置 4 个标签。

来自指南:

“要在所有屏幕尺寸上将您的表情符号放在各自的角落, 您需要为每个标签添加两个约束。从选择开始 左上角的标签,然后单击添加新约束按钮。使能够 顶部和前导约束,并将它们都设置为 0 像素, 确保标签边缘和标签边缘之间没有空间 视图的边距。默认情况下,视图的顶部有 20 像素 边距,左右各有16个像素的边距。所以当 您输入 0 像素,您实际上是在告诉标签定位 自身距离顶部 20 像素,距离左边缘 16 像素 看法。添加这两个约束”

所以,按照指南,我将第一个标签放在左上角,并添加两个约束

这就是结果。标签与安全区域对齐,而不是与视图边距对齐。

寻找另一个项目(不是我的),我认为我需要的两个约束是这些(或类似的):

【问题讨论】:

  • 你使用的是什么版本的 Xcode?​​span>
  • @matt 9.4.1 版
  • 谢谢,让我看看能不能重现这个问题……稍等……
  • 是的,我可以!嗯,这是 Xcode 中的一个错误(我会说)。我可以给你一个解决方法...
  • 这样,您非常很好地描述了这个问题。解释此类问题需要一些认真的屏幕截图工作,并且您投入了大量时间来做正确的事情。我希望所有的问题都这么清楚。

标签: swift xcode storyboard


【解决方案1】:

我将其描述为 Xcode 中的一个错误。您要求与保证金相关的限制,但您没有得到它们。这不是很好!

之后您只需要编辑约束。在您的最终屏幕截图中,双击一个约束。使用弹出菜单将 Safe Area 约束更改为 Superview 约束。然后再次从菜单中选择以检查相对于边距。然后您可能必须修复常量值。对其他约束也这样做。

要么这样,要么只是不使用约束弹出框开始。相反,通过控制拖动按钮并使用出现的 HUD 来绘制约束。在 HUD 中按住 Option 以获得超级视图边距约束。

编辑哦,这是另一种解决方法;在形成约束之前,隐藏安全区域布局指南(取消选中此屏幕截图中的第 4 个复选框):

现在约束弹出框可以正常工作了。

【讨论】:

猜你喜欢
  • 2016-12-09
  • 1970-01-01
  • 1970-01-01
  • 2020-06-03
  • 2010-12-28
  • 1970-01-01
  • 2014-02-02
  • 1970-01-01
  • 2011-05-13
相关资源
最近更新 更多