Storyboard预览与xCode 6模拟器或设备不匹配

15

我已经尝试了很长时间,但要么是我太蠢了,要么是苹果把这个变得非常棘手。在xCode 6中,Storyboard预览与模拟器或设备不匹配!我已经添加了约束条件,以便在预览中所有屏幕大小看起来都很好,但是当我在模拟器或设备上运行它时却混乱了。 求助!

你需要一些截图来回答我的问题吗?

我知道其他人也遇到了同样的问题,但我找不到任何答案。

我的项目,一切看起来都很好

模拟器看起来不好(我在手机上运行应用程序时也会发生此情况,并且在模拟器中所有屏幕大小也会发生此情况)


1
我怀疑你没有看“故事板预览”,而是看到了画布(你设计界面、约束等的地方)。预览是你在助手面板中看到的东西,通常是应用程序运行时所看到的正确呈现。 - matt
你的Canvas里有任何警告(红色或黄色图标)吗?如果是这样,那就是问题的根源。继续工作,直到没有警告为止。在那时,Canvas将与运行时所得到的结果相匹配。 - matt
1
不,我在看预览(Main.storyboard(Preview)),而不是故事板本身。等一下,我会发布一些图片。 - b3rge
好的,但你知道有什么问题吗? - b3rge
显然不是。这就是我想要找出的。你想让我看看它还是不想? - matt
显示剩余6条评论
8个回答

7
故事板“预览”如果存在任何约束错误/冲突,则不会与模拟器匹配。我遇到了这个问题,在搜索答案时找到了这个问题。 一旦解决了所有的冲突,预览就能正常工作了。似乎预览应该始终显示模拟器所显示的内容,以帮助在设置过程中更好的操作,但是如果存在冲突,它们之间的显示就会出现混乱。

2
尽管画布中没有任何错误或冲突,但预览和模拟器不匹配。请帮忙。 - user2552751

1
使用Xcode 6.3.1时,我遇到了相同的问题。我发现您缺少约束条件...在“结构”列中打开main.storyboard,您应该会看到一些红色箭头,请单击它们,您应该会看到您缺少的约束条件。

1
可以确认,在解决与自动布局相关的所有警告和错误后,问题已得到解决。

1
我刚刚通过将约束设置为紧凑宽度/常规高度来解决了我的尺寸类问题。当我设置特定于紧凑宽度/任何高度的约束时,它忽略了我的自定义值。
希望这有所帮助。我花了很长时间才弄清楚,因为描述让我误以为我的自定义布局会覆盖更多的设备选择。

0

确保你已经安装了最新版本的Xcode。我之前遇到完全相同的问题,后来才意识到有一个更新正在等待。现在我已经安装了更新,我的预览与模拟器上显示的一致。


你好,能否给我提供一个更新的链接或者告诉我如何更新呢?我遇到了同样的问题,但我已经在使用Xcode 6.1了。 - allwynmasc

0

我是如何解决这个问题的呢?我通过升级Xcode到最新版本,并重新创建使用先前版本Xcode创建的NIB/Storyboard文件。这样就解决了问题。奇怪的修复方法 :/


你好,能否给我提供一个更新的链接或者告诉我如何更新呢?我遇到了同样的问题,但我已经在使用Xcode 6.1了。 - allwynmasc
删除之前的视图控制器并重新创建它。应该可以工作。 - Anil
我运行了更新检查,它显示已经是最新版本了。是否要像第一个默认 VC 一样删除?因为我在几乎所有的 VC 上都遇到了这个问题。 - allwynmasc

0

对于在Xcode 8中遇到此问题且所有约束都已就位(即没有警告或错误)的任何人,解决方法是退出模拟器并再次通过Xcode重新启动应用程序。


0

这是一个约束问题。 一些约束没有正确设置或根本没有设置。一旦解决了所有约束问题,您将看到模拟器和预览完全匹配!


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