iOS 8 Xcode 6:灰色约束的意义何在?
Posted
技术标签:
【中文标题】iOS 8 Xcode 6:灰色约束的意义何在?【英文标题】:iOS 8 Xcode 6: What's the point of the grayed out constraints? 【发布时间】:2014-09-02 22:15:12 【问题描述】:在 Xcode 6 测试版中,当我删除约束时,它并没有完全删除它,而是将它变灰。我认为这意味着该约束被用于不同的大小类,但似乎并非如此。另外,如何永久删除这些约束?
【问题讨论】:
【参考方案1】:有几种方法可以从情节提要中删除约束
尽量不要从 Storyboard 对象中删除,因为有时不同的约束会叠加在一起,您可能会删除错误的约束。因此,最好从文档大纲中删除。只需在 Document Outline 上突出显示要删除的约束,然后按键盘上的 delete 按钮即可。请参见下面的屏幕截图:
如果您想清除所选视图的所有约束,请选择视图(例如:A 按钮),点击第三个按钮(解决自动布局问题按钮),点击 清除约束。
如果要清除视图控制器内所有视图的所有约束,请突出显示情节提要内的右侧视图控制器对象,点击第三个按钮(解决自动布局问题按钮),点击“视图控制器中的所有视图”下的清除约束。
【讨论】:
谢谢@Ricky。您的回答让我找到了删除约束(包括灰色约束)的最佳方法。 没问题。我很高兴我能提供帮助。 ;) 这是对一半问题的好答案,但它没有回答问题的实质:为什么?为什么不能从尺寸检查器中完全删除约束?!【参考方案2】:双击灰显的约束(将焦点切换到约束),然后按删除。这将删除约束。
【讨论】:
完全删除约束(无论是否为灰色)的最简单也可能是最好的方法,尤其是当您在左侧的文档大纲中找不到它时!【参考方案3】:我相信以下问题的答案是,您可以为不同的大小类别选择性地“安装”(或据我所知,启用)相同的约束。从 Document Outline 中选择一个约束后,您可以单击 + 号以从 Attribute Inspector 底部添加 Size Class Customization。因此,当您从尺寸检查器中删除约束时,您基本上是在删除仅针对特定尺寸类别的约束。为了删除所有尺寸类别的约束,您必须从 Document Outline 中删除。
为什么?为什么不能从大小中完全删除约束 督察?!
【讨论】:
【参考方案4】:您不能从右侧 Size Inspector 中删除灰显的约束(这是我通常删除约束的地方,因为它更容易确定约束用于哪个视图,它在文档大纲中确实令人困惑),但您可以通过选择它们并点击删除按钮,从左侧的文档大纲中删除相同的灰色约束。
灰色约束示例(见高度):
注意:为了使 Document Outline 的约束更易于理解,我首先将它们从 Size Inspector 中删除,这会使它们变灰,然后从 Size Inspector 中删除新变灰的约束。仅供参考。
【讨论】:
我想你有 2 个问题,我回答了其中一个。你能告诉我没有灰色约束的屏幕吗?我不明白你的意思。我认为您应该将其放在评论中,而不是放在答案中。 看到这个cool tutorial on size classes,你就会明白这一点。【参考方案5】:这是因为大小类别,您可以从文件检查器中禁用大小类别,并且每个灰色约束都用完,如果需要,您可以再次重新启用它们。
希望对你有帮助
【讨论】:
以上是关于iOS 8 Xcode 6:灰色约束的意义何在?的主要内容,如果未能解决你的问题,请参考以下文章
UILabel - iOS 8 Xcode 6.3 中的单行文本占用 2 行