我在wAny hAny尺寸等级中设置约束,并且它适用于iPhone& iPad模拟器。
然后我切换到wAny hCompact size class并进行了一些更改
它在iPhone横向模式下看起来很不错,但在iPad上没有任何改变,因为iPad是wRegular hRegular。我尝试将这些约束应用于wRegular hAny size class,但找不到快速的方法。再次手动修改所有约束是没有意义的。 我发现如果我在Inspector面板中双击约束,则可以选择将约束安装到其他大小的类。但这仅适用于单一约束......
那么,是否可以将所有约束从一个大小类应用到另一个大小类?
答案 0 :(得分:11)
我认为即使Hannes的回答被接受,我也会发布这个帖子,因为它可能对某些人有用。您可以通过直接编辑源代码来批量更新约束的大小类。编辑IB生成的XML通常是一个坏主意,但我使用旧的查找和替换执行了更新,这为我节省了很多时间。
明显的免责声明: 备份文件以防出现可怕的错误 ......
查找以下节点:
<variation key="heightClass=(Size Class)-widthClass=(Size Class)">
在我的情况下,我想将我的所有'紧凑宽度/紧凑高度'约束移植到'任意宽度/紧凑高度',并且能够实现此目的使用空字符串查找/替换' -widthClass = compact '以将' heightClass = compact-widthClass = compact '更改为“ heightClass = compact 强>”。
要获取源代码视图,请右键单击xcode中的storyboard文件,然后选择“打开为&gt;源代码'
在这个实例中非常简单,比在IB中更容易,因为我有很多限制要更新。
答案 1 :(得分:2)
在左侧面板中选择约束。(选择所有约束)。然后点击右侧面板上的“属性检查器”。然后添加要添加的类,就像添加UI元素一样。
答案 2 :(得分:0)
不,你不能一起编辑所有约束。
但是对于每个人,只需点击Installed
前面的加号按钮,然后添加wAny hAny
并选择它。然后,您的约束将适用于所有大小类。您可以添加更多选项,从而确定何时适用约束。
答案 3 :(得分:0)
查找并替换故事板代码: 我这样做是为了从compact-regular迁移到any / any。适合我。 Find - heightClass = regular-widthClass = compact 替换 - 默认
对于其他尺寸的clasees适当地找到大小字符串并调整大小。 奖励!!
最后更新约束。其他一切都不会像预期的那样。