Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class Xcode6:有没有简单的方法可以在大小类之间复制约束?_Class_Autolayout_Ios8_Xcode6 - Fatal编程技术网

Class Xcode6:有没有简单的方法可以在大小类之间复制约束?

Class Xcode6:有没有简单的方法可以在大小类之间复制约束?,class,autolayout,ios8,xcode6,Class,Autolayout,Ios8,Xcode6,我在wAny hAny size类中设置了约束,它可以在iPhone和iPad模拟器上运行 然后我转到wAny hCompact size类并做了一些更改 它在iPhone横向模式下看起来不错,但在iPad上没有任何变化,因为iPad是不规则的。我试图将这些约束应用于wRegular hAny size类,但找不到快速实现的方法。再次手动修改所有约束是没有意义的。 我发现,如果双击Inspector面板中的约束,可以选择将约束安装到其他大小类。但这只适用于单个约束 那么,是否可以将所有约束

我在wAny hAny size类中设置了约束,它可以在iPhone和iPad模拟器上运行

然后我转到wAny hCompact size类并做了一些更改

它在iPhone横向模式下看起来不错,但在iPad上没有任何变化,因为iPad是不规则的。我试图将这些约束应用于wRegular hAny size类,但找不到快速实现的方法。再次手动修改所有约束是没有意义的。 我发现,如果双击Inspector面板中的约束,可以选择将约束安装到其他大小类。但这只适用于单个约束


那么,是否可以将所有约束从一个尺寸类别应用到另一个尺寸类别?

否,不能同时编辑所有约束


但是对于每一个,您只需单击
Installed
前面的加号按钮,然后添加
wAny hAny
并选择它。然后,您的约束将应用于所有尺寸类别。您可以添加更多选项,从而决定何时应用约束。

我想我会发布此消息,尽管Hannes的答案被接受,因为它可能对某些人有用。通过直接编辑源代码,可以批量更新约束的大小类。通常,直接编辑IB生成的XML是个坏主意,但我已经使用良好的旧查找和替换执行了更新,这节省了我很多时间

明显的免责声明:备份文件,以防出现严重错误

查找如下节点:

<variation key="heightClass=(Size Class)-widthClass=(Size Class)">

在我的例子中,我想将所有的“紧凑宽度/紧凑高度”约束移植到“任何宽度/紧凑高度”,并能够通过使用空字符串查找/替换“-widthClass=Compact”来实现这一点,将“高度类=紧凑宽度类=紧凑”更改为“heightClass=compact

要进入源代码视图,请右键单击xcode中的情节提要文件,然后选择“打开为>源代码”


在这个例子中非常简单,而且比在IB中更简单,因为我有很多限制要更新。

查找并替换故事板代码: 我这样做是为了从compact-regular迁移到any/any.Works。 查找-高度类=常规宽度类=紧凑型 替换-默认值

对于其他尺寸,请找到合适的尺寸字符串并调整大小。 荣誉


在末尾更新约束。否则一切都将不符合预期。

选择左侧面板上的约束。(选择所有约束)。然后点击右侧面板上的属性检查器。然后添加要添加的类,就像我们添加UI元素一样


谢谢您的回答。但这只适用于一个约束条件……我希望应用从[wAny hCompany]到[wRegular hAny]的所有约束条件只需单击一下,因为要编辑一个稍微复杂一点的UI,将有几十个约束条件。@KenZhang我更新了答案以反映这一点。现在您可以接受它。谢谢。这看起来是一个很好的方法,我下次会尝试。这很好,但在我的情况下,我想改为wAny hAny,但我不能这样做:(