Xcode 9 重置大小类“查看为”以显示 Any Any 的约束

Posted

技术标签:

【中文标题】Xcode 9 重置大小类“查看为”以显示 Any Any 的约束【英文标题】:Xcode 9 reset size classes "view as" to show constraints for Any Any 【发布时间】:2017-12-18 19:33:10 【问题描述】:

在 Xcode 9 中,我使用 Xcode 9 中的“查看方式”功能(以前在 Xcode 8 中,但现在更加强大)进行了一些 UI 抽查。

但现在我不知道如何重置此过滤器*,现在我添加的任何新约束都是使用大小类 wC hR 创建的。在 Xcode 8 中,我只是将其重置回 wAny hAny,但这显然在 Xcode 9 中不存在。

但是,我添加的每一个新约束都是用这个特定的大小类创建的:

代替:

如何重置尺寸类“查看方式”,以便创建的约束默认为 wAny hAny 或“任何尺寸类”?

正如@matt 指出的那样,可以理解的是,这本身并不是一个过滤器,但它仍然表现得好像 - 过滤视图以仅显示特定的尺寸等级约束。在 Xcode 8 中,您可以根据"Any" size class missing in Xcode 8 重置视图以显示“任意任意”的约束。

【问题讨论】:

【参考方案1】:

您在屏幕截图中显示的内容不是“尺寸等级过滤器”。它只是视图控制器视图的显示尺寸。它说wChR,因为这些是您选择的设备类型/视图尺寸的尺寸等级(您选择了纵向的iPhone)。如果您需要不同的尺寸,请单击相应的图标以选择所需的尺寸。但这里没有任何东西被“过滤”。

您可以从不在屏幕截图中显示的位置显示“Any Any”,因为这不适用于任何设备;无论您选择什么设备,它都有一些与之相关的尺寸等级,您会被告知它们是什么。

【讨论】:

Matt 是正确的,如果您查看实用程序面板 -> 尺寸检查器 -> 约束,您将看到选择了“此尺寸等级”选项。您可以将其更改为“所有”,这会将约束添加到“所有”尺寸类。但是,我不建议这样做。拥有约束布局系统/自动布局的要点是利用尺寸类使应用程序在所有设备上看起来都很棒。使用右下角的“Vary for Traits”按钮。 正确。 “Vary For Traits”按钮一种过滤器。但是该过滤器在您的屏幕截图中无效;如果是,那么一切都会是蓝色的,而事实并非如此。 好的,也许我对它在 Xcode 8 中的表现感到困惑?以前它看起来像这样:***.com/questions/38257754/…。选中后,将为所有尺寸类别创建约束,如果您“过滤”,则为子集创建约束。我很乐意编辑这个问题,但我需要知道要问什么才能这样做。 我不能告诉你,因为我不知道你想知道什么!我怀疑他们意识到整个“任何任何”的事情都是误导性的。你永远不会看到这一点,这是正确的,因为你永远不会处于那种情况。总是有有效的尺寸等级。要针对可能生效的不同尺寸类别检查您的约束,请尝试不同的屏幕/设备尺寸/方向。但现在你只是让我重复自己(因为这就是我在回答中已经说过的)。 好吧,好吧 - 假设“any any”是一个用词不当,它仍然不会改变 Xcode 正在使用特定的选定大小类创建新约束的事实。在 Xcode 8 中,这是我控制该功能的地方。如果它在 Xcode 9 中发生了变化(或者我一开始就没有做对?)我想知道。添加了两个新的屏幕截图来帮助说明我所看到的。

以上是关于Xcode 9 重置大小类“查看为”以显示 Any Any 的约束的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 8 中的大小类

ios7 忽略任何大小类

现在 iPhone 上的重置设置不会在 Xcode 中显示以运行应用程序

iOS 9 上的 UICollectionViewCell 中的大小类错误

Xcode Storyboard - 将我对特定尺寸类的所有约束转换为 Any x Any 的约束

拖动带有阴影的自定义 UIView - 大小重置和阴影消失