iOS 8 Xcode 6: 灰色约束的作用是什么?

22
在Xcode 6 beta版本中,当我删除一个约束时,它并不完全删除,而是将其变灰。我认为这意味着该约束在不同的大小类别中使用,但事实并非如此。另外,如何永久删除这些约束?
5个回答

15

从Storyboard中删除约束有几种方法:

  1. 尽量不要从Storyboard对象中删除,因为有时候不同的约束可能会堆叠在一起,你可能会删除错误的约束。所以,最好从文档大纲中删除。只需在文档大纲上突出显示要删除的约束,然后按键盘上的删除按钮即可。请参见下面的屏幕截图: enter image description here

  2. 如果您想清除所选视图的所有约束,请选择视图(例如:一个按钮),点击第三个按钮(解决自动布局问题按钮),然后点击清除约束enter image description here

  3. 如果您想要清除视图控制器内所有视图的所有约束,请将正确的视图控制器对象突出显示在Storyboard中,点击第三个按钮(解决自动布局问题按钮),然后在“视图控制器中的所有视图”下点击清除约束


感谢 @Ricky。你的回答帮助我找到了删除约束(包括灰色约束)的最佳方法。 - RyJ
没问题。我很高兴能够帮忙。;) - Ricky
14
这是对问题一半的很好回答,但它并没有回答重点:为什么?为什么你不能完全从大小检查器中删除约束! - Robert Atkins

8

双击灰色约束(将焦点切换到约束),然后按删除键。这将删除约束。


最简单且可能最好的方法完全删除约束(无论是否灰色),特别是如果您无法在左侧的“文档大纲”中找到它! - Simon Bøgh

2
我认为以下问题的答案是,你可以选择性地为不同的尺寸类别“安装”(或者我理解为启用)相同的约束条件。当你从文档大纲中选择一个约束条件后,你可以点击属性检查器底部的“添加尺寸类别自定义”按钮来增加尺寸类别自定义。因此,当你从尺寸检查器中删除一个约束条件时,你基本上只是删除了一个特定尺寸类别的约束条件。如果你想要删除所有尺寸类别的约束条件,你必须从文档大纲中删除。

为什么?为什么不能从尺寸检查器中完全删除约束条件?!


1
您不能从右侧的Size Inspector中删除灰色的约束条件(通常我在那里删除约束条件,因为可以更容易地确定约束条件是针对哪个视图的,在Document Outline中会变得非常混乱),但是您可以通过在左侧的Document Outline中选择它们并按下删除按钮来删除相同的灰色约束条件。
灰色约束条件示例(请参见高度):

enter image description here

注意:为了更容易理解文档大纲的约束条件,我首先从尺寸检查器中将它们删除,这会使它们变灰,然后再从尺寸检查器中删除新变灰的约束条件。仅供参考。

我认为你有两个问题,我回答了其中一个。你能给我看一下灰色约束条件的屏幕截图吗?我不明白你的意思。我认为你应该把这个放在评论里而不是回答中。 - Ricky
看看这个关于尺寸类的酷炫教程,你就会明白了。 - DanSkeel

0

这是由于大小类的原因,您可以从“文件检查器”中禁用大小类,并使每个灰色约束失效,如果需要,可以重新启用它们。

希望能帮到您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接