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

时间:2015-07-07 20:45:58

标签: ios xcode6 autolayout interface-builder xcode-storyboard

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

  • 第一个视图被约束到顶部布局指南,并被限制在它下面的第二个视图的顶部(距离8或其他)。
  • 第二个视图被约束到第一个视图的底部和底部布局指南(距离8或其他)。
  • 其他不相关的水平约束。
  • 底线 - 一切都是蓝色的,在更改故事板内的屏幕类型时看起来很棒。

虽然您希望视图在高度上具有灵活性,并且只是垂直缩放以填充整个超视图的高度,但在运行时会出现问题。

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

从我搜索的内容来看,它看起来像是一个Xcode错误,因为我创建了一个只有这些约束的干净的新项目,但它仍然搞砸了。

1 个答案:

答案 0 :(得分:3)

所以我在这里找到了一个提示:

https://www.youtube.com/watch?v=lxc9DnqpI0c

无论如何,诀窍是约束顶部/底部布局指南的子视图,而是到superview

基本上如果你想在子视图(不是主视图)和屏幕的顶部/底部之间设置一个约束,不要使用通常的ctrl +拖动技术,只需选择它然后去:

Editor > Pin > Top Space to Superview

花了几个小时的时间!