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

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

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

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

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

【问题讨论】:

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

标签: ios iphone xcode storyboard


【解决方案1】:

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

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

【讨论】:

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