自Xcode 8以来布局接口生成器约束问题

由于我已经将Swift项目更新为Swift 2.3和Xcode 8(发行版),所以我无法再完成我的界面了。

在这里输入图像说明

我设置完全所有的限制。 一切工作正常。 我第二天重新打开Xcode,所有的视图都是这样的。

还有我收到很多警告

在这里输入图像说明

如果我点击Update Frame ,警告消失,视图再次看起来正常。 但是,只要我重新启动Xcode(或者有时甚至只是build立项目),它仍然被撤消…

在这里输入图像说明

重要提示 :所有的视图在任何设备中看起来都是完美的,但是很难保持概览。

我花了整整一个晚上,取代了我目前的项目的所有元素。 一切都很好,没有任何警告。 明天。 警告,我改变了字面上没有什么…我如何摆脱这一点? 帮助非常感谢。

在这里输入图像说明

我可以“更新框架”,一切再次看起来不错。 在重新打开Xcode之后,或者最近一次构build之后,它看起来就是这样。

最新的例子:极端简单的屏幕。 UIViewController中。 UINavigationBar的。 UITableView的。 没有赛段。 一个原型单元。

在这里输入图像说明

昨天晚上完成了所有的约束条件。 重新打开Xcode。 find了这个。

编辑

build议的解决方法是将所需的控制器的模拟大小切换到检查器中,然后更新帧,这只是一个临时解决scheme。 只要我重新打开Xcode,所有的警告又回来了。 我可以将这个值修改为固定的,然后所有的元素“弹回”到他们想要的位置,并且警告消失 – >重新打开Xcode,所有的警告都回来了,控制器的元素又一次翻滚了。

在这里输入图像说明

此外build议将故事板文件types更改为7.x没有任何影响。 我按了7.x,它问我,如果我想改变。 按下确定。 加载。 我打开了main.storyboard,它问我想用什么设备打开故事板。 然后重新selectXcode 8.0。

在这里输入图像说明

我正在制作一个包含多个故事板和大量视图控制器的大型项目。 大多数人都有同样的问题。 并认为这是因为Xcode现在支持十进制值的约束。

这里是所有我的UITableViews和UICollectionViews的修复工作:

1)从单元格内的一个视图中只删除一个“高度等于:xx”约束。
2)更新所有的帧。
3)select您从中删除约束的视图。
4)点击添加新的约束button。 现在应该显示一个新的高度,可能有一个十进制值。
5)添加高度约束而不改变框内的值。

你的问题现在应该被修复。 对所有被破坏的单元重复这个步骤。 希望这个解决scheme也适合你。 祝你好运!

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