![](/img/trans.png)
[英]strange behaviour with UINavigationController and autolayout top layout guide
[英]Autolayout: Add constraint to superview and not Top Layout Guide?
我在故事板中的UIViewController中有一个UIView,我想在空间上添加约束,查看距离上边缘的距离。
现在,当我通常按ctrl +拖动到ViewController的主视图时,我只能选择将其设置为顶部布局指南。
这对我来说是一个问题,因为在应用程序中的某一点我将主视图向上移动大约20-50px然后发生的是我不会移动的视图...因为它不与superview对齐。
如何在故事板中手动执行此操作或者是否必须以编程方式添加它?
我正在使用xcode 6。
约束常量值右侧有一个箭头。 如果单击它,会弹出一个菜单,您可以在其中选择要对其进行约束的内容。 如果您选择“查看”,则会将其固定到视图的顶部。
您应该可以通过在故事板中突出显示所需的视图,然后在顶部菜单中选择Editor > Pin > Top Space to Superview
来完成此操作。
这在XCode 7中已经过时,请参阅@ PaulGurov的答案。
TL; DR:您可以通过按键盘上的Alt键约束边距。
还可以补充一点,如果您尝试固定的视图不是您要将其固定到视图的直接子视图,则建议的方法并不真正有效。 假设视图层次结构看起来像这样,并且您希望将图像视图(在这种情况下为Parallax Image View
)固定到视图控制器的视图(在本例中为View
)。
要做到这一点,你只需从Parallax Image View
控制 + 拖动到View
。 这将显示默认选项,您可以在其中查看“ Vertical Spacing to Top Layout Guide
以将“ Parallax Image View
到顶部布局指南。
你想要的是将它固定在视图的顶部(边缘)。 为此,您必须按Alt键切换到另一组约束
丹的答案有效。 我只想说明如果你在storyBoard中设置y <20的视图,并通过引脚面板配置约束,它将设置为superview:
如果视图的高度意外设置为0,则不会显示“垂直空间到顶部布局指南”。 然而,将出现垂直空间到底部布局指南,这对于2004年左右的Apple内部人员来说必定是有意义的。
上述答案都不适合我,相反,我必须做一个黑客来设置我的子视图的顶部与superview的顶部而不是顶部布局指南。
你现在很高兴。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.