Autolayout:为superview添加约束而不是Top Layout Guide?

Arb*_*tur 109 storyboard ios autolayout nslayoutconstraint

我在故事板中的UIViewController中有一个UIView,我想在空间上添加约束,查看距离上边缘的距离.

现在,当我通常按ctrl +拖动到ViewController的主视图时,我只能选择将其设置为顶部布局指南.

这对我来说是一个问题,因为在应用程序中的某一点我将主视图向上移动大约20-50px然后发生的是我不会移动的视图...因为它不与superview对齐.

如何在故事板中手动执行此操作或者是否必须以编程方式添加它?

我正在使用xcode 6.

Pav*_*rov 303

约束常量值右侧有一个箭头.如果单击它,会弹出一个菜单,您可以在其中选择要对其进行约束的内容.如果您选择"查看",则会将其固定到视图的顶部.

在此输入图像描述

  • 对于那些和我一样无知的人来说只是一个注释 - >除非您要添加约束的视图位于顶部布局指南之下,否则您可能无法进行此更改.我在顶部布局指南上方有一个视图,而"顶部布局指南"在下拉菜单中不是一个选项.对于像我这样的非新手来说,这可能是一个"duh"声明:) (9认同)
  • 哈利路亚!当他们删除编辑器 - > Pin菜单时,我不知道我要做什么. (6认同)
  • 我不敢相信我以前没有看到过.真棒. (4认同)
  • 这是关于那些小Xcode的微妙之处.那做得太多了.:) (2认同)

小智 57

您应该可以通过在故事板中突出显示所需的视图,然后Editor > Pin > Top Space to Superview在顶部菜单中进行选择来完成此操作.


这在XCode 7中已经过时,请参阅@ PaulGurov的答案.

  • 他们从Xcode 7的编辑器菜单中删除了'pin'.任何新的解决方案? (4认同)

Zhi*_*nov 12

TL; DR:您可以通过按Alt键盘上的键约束边距.


还可以补充一点,如果您尝试固定的视图不是您要将其固定到视图的直接子视图,则建议的方法并不真正有效.假设视图层次结构看起来像那样,并且您希望将图像视图(Parallax Image View在本例中)固定到视图控制器的视图(View在本例中).

在此输入图像描述

要做到这一点,你刚才Control+ DragParallax Image ViewView.这将显示默认选项,您可以在其中查看Vertical Spacing to Top Layout Guide固定Parallax Image View到顶部布局指南.

在此输入图像描述

你想要的是将它固定在视图的顶部(边缘).要做到这一点,你必须按下切换到另一组约束Alt

在此输入图像描述