“导航栏”的警告框在运行时会出现在XCode 8 Swift 3中

在升级到XCode 8之前,在这种情况下我还没有看到这个错误。 我有不同的导航控制器。 对于他们所有我看到一个错误Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375 Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375实际上这些导航控制器没有Navigation barNavigation bar存在子视图。无论如何,我可以通过打勾解决它,并取消checkbox在Attributes inspector Shows navigation bar但不幸的是,每当我重新打开Main.storyboard这个警告就会再次出现,如果我点击黄色的三angular形然后更新帧,什么都不会发生。

在这里输入图像说明

如果将属性“模拟大小”更改为“自由forms”,警告将消失。

如上所述,您可以通过开启/closures调整滚动视图插入来解决这个问题。

我已经从视图更改为:iPhone 6S到iPhone 5S,然后更改回到iPhone 6S,Xcode做了所有的更改,以消除警告。

这在Xcode 8.3.1工作对我来说,重新启动Xcode后,它仍然工作。

在这里输入图像说明

  1. select导航控制器

在这里输入图像说明

  1. 转到显示大小检查器

在这里输入图像说明

  1. 将模拟大小更改为自由forms

在这里输入图像说明

  1. 将模拟大小更改回固定

在这里输入图像说明

  1. 然后警告消失。

在这里输入图像说明

作为一个解决方法,只是为了摆脱恼人的警告,我一直在编辑Main.storyboard通过删除'错位':

 <navigationBar key="navigationBar" opaque="NO" contentMode="scaleToFill" misplaced="YES" translucent="NO" id="Os1-Xh-7XN"> 

一个黑客,但它是很好的有零警告,而不是1 🙂

点击故事板左下方的“查看为”,然后select不同的设备大小,然后再次单击,然后切换回开始的设备大小。 这对我有效。

在修补Xcode 8之前,您可以将“View as:”选项设置为“iPhone SE”以消除警告。 不理想,但现在工作。

我尝试了所有上述build议,但似乎没有工作。 我认为这可能是一个更严重的错误。

我已经用Apple Bug Reporterlogging了一个bug(链接: https : 31355220 ) – 如果你想要做同样的事情,那么请参考bug: 31355220这样苹果就可以把它捆绑在一起。 越多的人报告 – 他们将有更多的信息来解决这个烦恼。

我能够完全摆脱这个问题,通过设置视图控制器的模拟大小自由forms,然后设置宽度从375到320。

有同样的问题,这是我所做的修复:

展开错误信息并单击警告详细信息。 然后Xcode应该自动打开尺寸/位置设置。 将当前值replace为警告详细信息中build议的值。

在这里输入图像说明

基本上,请确保您的运行时的大小与您在大小检查器中指定的大小相同。

您也可以点击您发布图片旁边的图标(黄色三angular形为白色圆圈,有时为红色圆圈图标),则会有选项自动修正/调整问题。

在这里输入图像说明

我select了更新约束选项,然后相应地调整了新的约束条件。

对我来说,问题是我隐藏底部酒吧推(使用IBcheckbox)。

我不得不在“底部栏”选项中select“无”

在这里输入图像说明

好吧,看来我已经解决了这个问题。 这是我做的。

像正常一样select更新帧。 打开一个不同的文件,然后点击故事板文件。 如果这不起作用,然后重新启动Xcode。 它看起来像是在内部更新,但是界面生成器用户界面被阻塞,因为它有时会得到。

请更改您的设备预览在Xcode的视图控制器和编译和检查警告…

Xcode 8是有点bug,接口生成器重置其与随机否影响所有包含的意见。 尝试更改预览设备。