Ios 向Xcode 5中的superview添加间距约束

Ios 向Xcode 5中的superview添加间距约束,ios,xcode,interface-builder,autolayout,xcode5,Ios,Xcode,Interface Builder,Autolayout,Xcode5,我正在用Xcode 5构建一个iOS应用程序,在添加布局约束时遇到了问题。在Xcode 4.x中,我可以将前导/尾随/顶部/底部空格添加到任何UI元素的容器(superview)中。现在,我只有这个选择: 我想在我的文本视图中添加“底部空间到超级视图”约束。它说的是“到最近邻居的间距”,但我不想创建到“最近邻居”的约束,我的文本视图下还有其他内容,我不想用它创建约束。如果“我的文字”视图下没有其他对象,它会正确地向容器添加约束。但如果我试图更改任何内容,一切都会一团糟:我需要将所有视图移到其他

我正在用Xcode 5构建一个iOS应用程序,在添加布局约束时遇到了问题。在Xcode 4.x中,我可以将前导/尾随/顶部/底部空格添加到任何UI元素的容器(superview)中。现在,我只有这个选择:

我想在我的文本视图中添加“底部空间到超级视图”约束。它说的是“到最近邻居的间距”,但我不想创建到“最近邻居”的约束,我的文本视图下还有其他内容,我不想用它创建约束。如果“我的文字”视图下没有其他对象,它会正确地向容器添加约束。但如果我试图更改任何内容,一切都会一团糟:我需要将所有视图移到其他位置,然后添加约束,然后添加约束,然后将其他视图移回。如果我在文本视图和UI元素(在本例中是按钮)之间添加约束,它将不起作用(一切看起来都是正确的:按钮对superview的底部有约束,文本视图对按钮有垂直间距约束,并且没有冲突的约束)。UI元素在不同(3.5英寸)屏幕方向上超出屏幕界限。界面生成器是否有缺陷,或者我是否遗漏了什么?当我可以正确设置所有内容时,当我调整interface builder屏幕的大小时,我的控件似乎仍然超出范围,但在模拟器/设备上以3.5英寸的高度正确显示。在Xcode 5中使用新的界面生成器约束设计UI的“最佳实践”是什么

更新:我在另一个同样的项目中遇到了一些麻烦。我正试图通过按住CTRL键将控件拖动到显示“top layout guide”(顶部布局指南)的位置,将视图的顶部固定到顶部布局指南,并尝试将控件底部与布局指南对齐(大约-470点),而不是将控件顶部对齐,这没有任何意义,因为控件应该在可变高度屏幕中进行布局(例如,普通和4英寸iPhone,以及将来可能的其他布局…)。下面是正在发生的事情的屏幕截图:

我在约束中得到了这一点:

如何使Interface Builder将视图顶部与顶部布局指南对齐


更新2:我找到了一个解决方法。我首先调整视图的大小以降低其高度(使其顶部不会重叠或非常靠近顶部布局参考线),然后按住CTRL键并将其拖动到顶部布局参考线。它似乎工作正常。连接视图后,我再次将视图调整为所需大小,然后选择
更新约束
。它可以工作,但仍然不是一个解决方案,因为它需要调整视图大小、连接、再次调整大小以及更新约束。

现在似乎是一个底部边缘约束。 选择您的视图及其superview,点击“对齐”并检查“底部边缘”内容


要在视图及其“超级视图”(如“底部空间到超级视图”)之间添加约束,可以使用文档大纲(界面生成器的左侧部分)

在文件大纲中:

  • 按住ctrl键并从视图拖动到其“superview”(反之亦然)
  • 选择要添加的约束(在本例中为“容器的底部空间”)

  • 如果要添加尾随约束或前导约束,如在Xcode 4中所示,请从要添加约束的视图中心按住CTRL键并向左、向右、向上或向下拖动。然后将显示一个窗口,您可以在其中选择要添加的约束(取决于CTRL键拖动的方向)。

    Jarig的回答很好,但有时会导致意外结果,如注释中所述

    另一个选项是选择子视图并转到:

    编辑器>固定>顶部空间到Superview


    或者任何您想要的约束。

    如果您想在视图中的按钮和视图下的选项卡栏之间设置约束(假设按钮的视图包含在选项卡栏控制器中),这是否也可行?如果要在按钮和选项卡栏之间设置约束,可以按住ctrl键将文档大纲从按钮拖动到底部布局指南。每当我尝试添加这样的“顶部空间到顶部布局指南”约束时,它都会将其变为“底部空间到顶部布局”约束,并带有一个较大的负值。这是一个Xcode错误,还是我做错了什么?我刚刚解决了我自己的问题。视图位于布局指南上方(因为它来自iOS 6),所以xcode试图变得聪明,而不是按照它所说的去做。解决方案是选择所有内容并将其拖到布局指南下方,尽管我试图让Xcode自动执行此操作。看起来
    表视图
    顶部布局指南
    之间的
    垂直空间
    约束不希望为零或负。以下是您可以执行的操作:1)将
    表格视图下移至少1点,使其不直接与
    顶部布局指南相邻。2) 设置
    表格视图
    顶部布局指南
    之间的
    垂直空间
    约束-现在应该从顶部开始。3) 将
    表格视图
    移回与
    顶部布局指南
    直接相邻的位置。4) 将
    Vertical Space
    constraints'值修正为零。嘿,在将视图连接到顶部布局指南时,会出现与您相同的错误。起初我很困惑,但找到了和你一样的解决方法。希望这将在未来的更新中得到修复…我希望如此。。很遗憾看到一家真正关心设计的公司在其用于设计核心界面的产品中出现设计错误。这种解决方法很有效!了解这一点尤其有用,因为尝试从上下文菜单或控件拖动中获得相同的结果时,不会出现“从顶部空间到superview”选项—始终是“从顶部空间到顶部布局”