Ios 对顶部/底部布局指南有约束的奇怪行为

Ios 对顶部/底部布局指南有约束的奇怪行为,ios,xcode6,autolayout,interface-builder,xcode-storyboard,Ios,Xcode6,Autolayout,Interface Builder,Xcode Storyboard,我有一个故事板(Xcode 6.4),其中有一个视图控制器和两个相互垂直排列的子视图。在他们的应用程序中,图片就像Facebook的时间轴屏幕,只有两块瓷砖 第一个视图被约束到顶部布局导向,并约束到其下方的第二个视图的顶部(距离8或其他) 第二个视图被约束到第一个视图的底部和底部布局参考线(距离8或其他) 其他不相关的水平约束 底线-所有东西都是蓝色的,当在故事板内改变屏幕类型时看起来很棒 虽然您希望视图在高度上是灵活的,并且只是垂直缩放以填充整个superview的高度,但运行它时,出现了

我有一个故事板(Xcode 6.4),其中有一个视图控制器和两个相互垂直排列的子视图。在他们的应用程序中,图片就像Facebook的时间轴屏幕,只有两块瓷砖

  • 第一个视图被约束到顶部布局导向,并约束到其下方的第二个视图的顶部(距离8或其他)
  • 第二个视图被约束到第一个视图的底部和底部布局参考线(距离8或其他)
  • 其他不相关的水平约束
  • 底线-所有东西都是蓝色的,当在故事板内改变屏幕类型时看起来很棒
虽然您希望视图在高度上是灵活的,并且只是垂直缩放以填充整个superview的高度,但运行它时,出现了一些问题

在不同的屏幕和设备(以及iOS版本)上运行(使用模拟器或设备)时,在布局指南附近会出现奇怪的意外行为,例如,在子视图和相关的顶部/底部布局指南之间会显示边距


从我搜索的内容来看,它看起来像一个Xcode bug,因为我创建了一个只有这些约束的全新项目,但它仍然混乱不堪。

因此我在这里找到了一个提示:

无论如何,诀窍是不要将子视图约束到顶部/底部布局参考线,而是约束到超级视图

基本上,如果要在子视图(不是主视图)与屏幕顶部/底部之间设置约束,请不要使用常用的ctrl+拖动技术,只需选择它,然后执行以下操作:

Editor>Pin>Superview的顶部空间

在这上面花了几个小时