Xcode 7到Xcode 8的Storyboard约束警告

25

我刚把我的Xcode项目从Xcode 7.3转换到Xcode 8 GM,结果收到超过80个约束警告。在Xcode 7中,我的故事板是“大正方形”,而不是具体的iPhone尺寸。现在,在Xcode 8中,你可以切换到不同的iPhone和iPad尺寸。我的约束仍然显示为Xcode 7中更平方的VCs。是否有一个“快速”修复方法,还是我需要遍历整个应用程序并修复每一个约束(远远超过80个)?

更新:2016年9月20日->基于反馈已经提交了许多错误报告,苹果应该已经意识到了问题。问题解决后,我会立即提供答案。


1
我在使用Xcode 8 GM时遇到了同样的问题。我真的希望他们能在最终版本发布之前解决这个问题。起初,我以为这是由于从Xcode 7迁移过来的问题,但经过一些测试后,我发现这并不是这种情况。我使用Xcode 8创建了一个新的Storyboard,在重新打开时,我遇到了你刚才描述的相同问题。我提交了一个DTS和两个错误报告。你应该也这样做,以引起更多关注Xcode 8的这个问题。至少要提交一个错误报告。如果我本周收到苹果的回复,我会让你知道的。 - Mario A Guzman
谢谢您的信息! - Dan Levy
如何暂时解决这个问题?我发现所有UI元素的位置都会改变并且不正确地定位。 - Jeff Bootsholz
这件事情发生在我身上了。每一个限制条件似乎都被打破了。 - Nicholas Smith
3个回答

14

选择故事板中的所有场景(视图控制器),显示“大小”检查器,将“模拟大小”更改为“自由形式”,然后设置宽度高度为600。

然后,这些大量的警告消失了。

输入图片描述


谢谢你的解决方法!如果你找到了一个修复方法,让我知道,这样我就可以使用新的尺寸类选项了! - Dan Levy
很酷,我刚刚升级到Xcode 8,这个解决方法可以让我的项目暂时继续前进。我渴望了解更好的解决方案以及如何使用新的尺寸类别选项!:) - Xiang LI
我仍然发现按钮位置的限制已经改变。 - Jeff Bootsholz
3
这太烦人了,为什么为什么为什么……我所有完美的项目现在都一文不值了……而且在将宽度和高度改为600后,复杂的布局仍然存在错误……他们为什么要这样做????在Xcode 7.3上没有错误,在Xcode 8.0上出现了100多个错误,我们该怎么办啊? - Erez
如果ViewController在故事板中不是导航的一部分,那么它也会影响约束。你好。 - Abhishek Thapliyal
你也可以尝试这个 https://makeapppie.com/2016/09/05/an-introduction-to-size-classes-for-xcode-8/ - Rohit Pathak

1
当我升级到Xcode 8时,遇到了同样的问题。我的storyboard看起来就像你描述的那样。检查一下你的警告/错误信息。如果它们都说“将垂直拉伸优先级设置为X”或“将压缩阻力设置为Y”,那么你应该能够通过按建议设置优先级来解决问题。
点击一个警告,在属性检查器中,选择带有标尺图标的选项卡(不确定这个选项卡叫什么),在Content Hugging PriorityContent Compression Resistance Priority标题下设置优先级。随着你更新这些属性,警告应该开始变成不正确的框架警告,此时你只需更新框架即可。
这可能不是一个快速的解决方案,但更改一些约束的优先级比重新制作所有的约束要容易得多。希望这可以帮到你!

我们首先需要在Xcode 7中设置视图控制器:将模拟尺寸设置为自由形式,然后将宽度高度设置为600。因此,检查警告的详细信息。 - Jeff Bootsholz

0

逐个选择视图控制器,每次按“更新框架”。


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