swift2 自Xcode 8以来,布局界面生成器约束问题

de90aj5v  于 2022-11-06  发布在  Swift
关注(0)|答案(2)|浏览(180)

由于我已经将我的Swift项目更新到Swift 2.3和Xcode 8(发布版本),我无法再完成界面:

我把所有的限制都设置得很好。一切都很好。第二天我重新打开Xcode,我所有的视图都是这样的。
我也收到了大量的警告:

如果我点击Update Frame,警告就会消失,视图看起来又正常了。但是一旦我重新启动Xcode(有时甚至只是构建项目),它又会被撤销...

重要提示:所有的视图看起来都很完美,就像任何设备内部所希望的那样,但要保持概览真的很难。

我花了一整晚的时间来替换我当前项目的所有元素。一切都很好,没有任何警告。第二天,警告又回来了,我什么也没做。我该如何摆脱这个问题呢?非常感谢帮助。

我可以“更新框架”,一切看起来都很好了。经过几个建设或在最新的重新打开Xcode后,它看起来像这样了。
最新示例:极简屏幕。UIViewController。UINavigationBar。UITableView。无序列。一个原型单元格。
x1c4d 1x指令集
昨晚把所有的限制都设置好了。重新打开Xcode。找到了这个。

编辑

建议的解决方法是在检查器中将所需控制器的模拟大小切换为自由形式,然后更新帧,这只是一个临时解决方案。
只要我重新打开Xcode,所有的警告又回来了。我可以把值改为固定,然后,所有的元素“弹”回他们想要的位置,警告消失-〉重新打开Xcode,所有的警告又回来了,控制器的元素又都在翻滚。

另外,将故事板文件类型更改为7.x的建议也没有任何效果。我按了7.x,它问我是否要更改。我按了OK。已加载。我打开主故事板,它问我想在什么设备上打开故事板。然后重新选择了Xcode 8.0。


指令集

o4tp2gmn

o4tp2gmn1#

快速解决方法:在检查器中将所需控制器的模拟大小更改为自由格式,然后更新帧。看起来自由格式控制器不受这些新的Xcode 8 IB功能的影响:)

ni65a41a

ni65a41a2#

我正在做一个有多个故事板和很多视图控制器的大型项目。在大多数项目上都有同样的问题。我认为这是因为Xcode现在支持十进制值的约束。
以下是对我的所有UITableViews和UICollectionViews的修复:
1)仅删除“高度等于:xx”约束。
2)更新所有帧。
3)选择已从中删除约束的视图。
4)按一下以新增限制式按钮。现在它应该会显示新的高度,可能会有小数点数值。
5)加入高度约束,而不变更方块内的值。
现在该单元格的问题应该已解决。对所有损坏的单元格重复此步骤。希望此解决方案也适用于您。祝您好运!

相关问题