"导航栏"的警告框在运行时将显示在XCode 8 Swift 3中

Dan*_*nny 141 xcode uinavigationbar ios swift xcode8

在我升级之前,Xcode 8我没有在这种情况下看到这个错误.我有不同的导航控制器.对于他们所有人我看到一个错误Frame for "Navigation bar" will be different at the run time. Navigation bar "Expected: width=384, Actual: width=375.实际上这些导航控制器没有Navigation bar.Navigation bar存在于子视图.无论如何,我可以通过蜱解决它,并取消勾选复选框Shows navigation barAttributes inspector.但不幸的是,每次重新打开Main.storyboard此警告时,都会再次出现.此外,如果我点击黄色三角形然后更新帧没有任何反应.有任何想法吗?

在此输入图像描述

小智 153

如果将属性"模拟大小"更改为"自由形式",警告将消失.

  • 这并不能解决问题.关闭Xcode并再次打开问题将再次出现. (37认同)
  • 只是临时修复 - 这不是答案. (5认同)
  • 更改此模拟大小(并返回"推断"或其他)或_"切换调整Scrollview插入开/关"_.两者都会导致Storyboard删除它的'misplaced ="YES"`.这是一个Xcode错误,此修复程序是一种强制刷新类型.**取自@buildsucceeded的回答.** (5认同)
  • 这让我感到很难受.我只是尝试了这个,这确实会暂时删除警告*.您可以随时来回切换模拟尺寸,以便在它返回时删除警告.超.烦人. (2认同)

bui*_*ded 34

如此处所述,您可以通过打开/关闭Adjust Scrollview Insets来解决此问题.

  • 这会将其修复到下次关闭并重新打开项目.不完全修复. (7认同)
  • 哇,和(检查git)字面意思当你这样做时发生的是'misplaced ="YES"`被删除.:/ (4认同)

neg*_*siu 15

我已经从View as:iPhone 6S改为iPhone 5S,然后改回iPhone 6S,Xcode做了所有更改以删除警告.

  • 这工作了很短的时间 - 然后Xcode再次处理 - 同样的事情发生了,警告再次发生.这是否仍然适用于最新的Xcode? (2认同)

guo*_*uoc 12

这在Xcode 8.3.1中对我有用.重新启动Xcode后,它仍然可以工作.

在此输入图像描述

  1. 选择导航控制器

在此输入图像描述

  1. 转到显示大小检查器

在此输入图像描述

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

在此输入图像描述

  1. 将模拟尺寸更改回固定

在此输入图像描述

  1. 然后警告就消失了.

在此输入图像描述


Jen*_*sie 7

作为一种解决方法只是为了摆脱恼人的警告我通过删除'错位'来手动编辑Main.storyboard:

<navigationBar key="navigationBar" opaque="NO" contentMode="scaleToFill" misplaced="YES" translucent="NO" id="Os1-Xh-7XN">
Run Code Online (Sandbox Code Playgroud)

一个黑客,但很高兴有零警告,而不是1 :)


小智 6

单击故事板左下角的"查看方式",选择不同的设备大小,然后再次单击它并交换回您开始使用的设备大小.这对我有用.