iPhone 模拟器与主情节提要预览

Posted

技术标签:

【中文标题】iPhone 模拟器与主情节提要预览【英文标题】:iPhone Simulator vs. Main Storyboard Preview 【发布时间】:2015-05-22 13:50:32 【问题描述】:

我对一个特定的应用程序有很多布局限制,并且在 main.storyboard(预览版)中,这些应用程序看起来有点不对劲,但是当我在模拟器中运行它们时,它们看起来就像我想要的那样。所以两者之间存在脱节。

我看到问题的答案是修复约束警告会使两者看起来相同。

但是,我不想尝试修复这些警告。花了很多时间最终弄清楚如何布置所有这些,我担心修复这些 (38) 约束错误会搞砸一切。

我的问题是......由于预览和实际设备模拟之间的差异,如果应用程序在真实设备上运行,哪个会实际出现?我会假设在模拟中显示的那个,但我真的不确定。忽略错误和它向我展示的奇怪的 main.storyboard (预览版)布局并进行模拟是否安全?对于每个模拟设备,它看起来我想要它,所以我现在厌倦了改变任何东西。谢谢!

【问题讨论】:

不,仅仅因为它在模拟器上看起来不错并不意味着您应该忽略警告。出现这些警告是有原因的,因此请解决根本问题。 我认为模拟器是准确的。毕竟,如果一开始就不能正确模拟,那又有什么意义呢? 【参考方案1】:

根据我的经验,Xcode 在故事板中存在一些问题。如果您有一个约束使视图在视觉上不可见,您将收到有关此约束的警告。您可以通过单击警告图标来快速修复它,但是如果您关闭项目并重新打开它,警告就会出现。

最终的结果应该是模拟器中显示的 UI,而不是界面构建器或情节提要。

【讨论】:

我真的没有任何东西会变得不可见,因为我限制的每个项目都在那里。我看不到任何替代方法来布局我所拥有的内容而不会出现一些错误。我已经尝试过多次,错误主要是说框架将向左或向右偏移一个单位,这很好。有一些是相互矛盾的,但我担心如果我尝试删除它们可能会搞砸。不确定这是否与我在情节提要中使用 iPhone 4 英寸有关,因为它体积小且易于使用,而不是一般的视图控制器。 隐形物品只是其中一种可能性。如果您收到红色错误而不是黄色警告,则您的约束必须有冲突。在模拟器中运行应用程序时,控制台中是否显示任何错误消息? 是的,有很多。他们告诉我一些约束可能是我不想要的,然后提供它们的列表。但是我运行模拟器,它们看起来都不错,所以我想因此我真的想要它们?不知道如何消除前面提到的那些关于框架是一个单位的错误等等,当我添加约束时就出现了,我对此无能为力。我只是不希望应用程序在这里看起来很好,然后实际上在一个可下载的应用程序中让它变得疯狂。 通常有两种方法可以解决这个问题。 如果您以编程方式更改了约束常量,则错误的高可能性是当您更改约束值(例如高度)时,与此约束相关的其他视图没有足够的空间显示。在这种情况下,您可以注释掉您更改约束的行,以查看错误消息是否仍然存在。第二种方法是您可以使用分而治之的方法来删除视图中的一半约束,以查看哪个约束发出错误消息。虽然这种方法非常耗时,但它是找出错误的最佳方法。

以上是关于iPhone 模拟器与主情节提要预览的主要内容,如果未能解决你的问题,请参考以下文章

UIImageView 在不同设备上保留情节提要“预览屏幕边界” - 框架不根据屏幕尺寸更新

如何从情节提要“Main”中修复,但没有获得 UITableView。代码

使用自动布局时标签不会调整大小,情节提要中的约束

如何在 XCode 中预览故事板的不同视图控制器

在 xcode5 中找不到适用于 ios 5 的情节提要 [关闭]

iOS - 无法让 @IBDesignable .xib 文件显示在情节提要或模拟器上