Xcode:将对象与View Controller边距对齐

时间:2018-08-18 10:16:49

标签: swift xcode storyboard

我将在本苹果指南https://itunes.apple.com/it/book/app-development-with-swift/id1219117996?mt=11

的帮助下开始研究Swift。

现在,我陷入了一个我想了解如何解决的小问题,但是从指南中并不清楚。

我在398页上:“指导的项目:个性测验”。

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

enter image description here

来自指南:

  

“要在所有屏幕尺寸上将表情符号保持在各自的角上,   您需要为每个标签添加两个约束。首先选择   左上角的标签,然后单击“添加新约束”按钮。启用   顶部和顶部约束,并将它们都设置为0像素,   确保标签的边缘和标签的边缘之间没有空间   视图的边距。默认情况下,视图顶部有20像素   页边距,左右两侧有16个像素的页边距。所以什么时候   您输入0像素,实际上是在告诉标签位置   本身距顶部20像素,距左侧16像素   视图。添加这两个约束”

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

enter image description here

enter image description here

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

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

enter image description here

1 个答案:

答案 0 :(得分:1)

我将其描述为Xcode中的错误。您要求提供相对于边距的约束,但没有得到。那不是很好!

您只需要随后编辑约束即可。在最后一个屏幕截图中,双击一个约束。使用弹出菜单将“安全区域”约束更改为“超级视图”约束。然后再次从菜单中选择以检查相对于余量。然后,您可能必须修复Constant值。对于其他约束也要这样做。

要么要么不使用约束弹出框开始。而是通过按住Control键并拖动按钮来绘制约束,然后使用显示的HUD。在HUD中按住Option以获得超级视图边距约束。

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

enter image description here

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