我每次启动Xcode都必须更新故事板中的所有内容

所以每次我在Xcode中打开我的项目,我有100个警告,因为每个UI对象的框架已被移动。 我必须花时间去每个UIViewController和更新帧。

这有什么原因吗? 我怎样才能解决这个问题? 我需要提及的其他信息?

你使用代码库吗? 可能有一些configuration文件丢失,可能没有正确地编写

在我的情况下,这是因为我设置约束和布局的size-class在我打开Xcode项目时发生了变化。 因此,请确保尺寸类保持与应用布局的尺寸类相同,或者在Xcode已修改尺寸类时进行更改。

如果上面的代码不适合你,你可以尝试让Xcode创build一个本地仓库,然后在退出Xcode之前提交代码。

希望这可以帮助!!

我相信这是以前在这里问的: 界面生成器降级故事板,resize和重新定位的意见小增量

我还没有看到这个问题的解决办法,但我在那里发布的答案在这里可能是真实的。 https://stackoverflow.com/a/28577800/682574

至less有一个来源是由于故事板将布局分解为全像素边界(x = 7.0,y = 10.0)或部分边界(x = 7.5,y = 10.5)。 尽我所知,可以在任何时候查看故事板时重新计算,而舍入实际上是根据当前的显示环境确定的。

您可以通过在视网膜显示器上查看故事板,然后在非视网膜显示器上查看,故意造成这种行为。 用我的双显示器显示,如果我只是从一个屏幕(视网膜5k)拖到一个故事板到另一个(非视网膜),将产生大量的错位约束。 不幸的是,把它移回去并不能解决它们! 为自己尝试一下(或者不要…这是一个纠正的痛苦)。

在团队环境中,只要有不同设置的两个人查看相同的故事板,就很容易看到这种情况是如何发生的。

如何解决它? 我还没有听说过不正确地纠正或避免这个问题的工作stream程。

以下是我偶然发现错位观点的几个原因。 我不确定是否这两者中的任何一个对你所看到的问题负责 – 通常这些会导致一些意见错误放置在这里和那里,而不是你的故事板中的每个视图。 但是我列出了它们以防万一。

  • 不同的团队成员可能会使用不同版本的Xcode,这可能会使某些视图的位置稍有不同,而且肯定会更改故事板文件“工具版本”等等。
  • 约束条件通常不满意分数宽度/高度。 这可能很难检测 – 例如,您可能有一个视图,其内在高度是垂直居中在一个视图中的奇数个像素,视图的高度是偶数个像素,导致内部视图以半像素开始当故事板被重新打开时,想要重新定位到更低或更高的位置。

对于xib文件,您可以轻松地编写一个自动更新帧的脚本:

ibtool input.xib –update-frames –write input.xib

但是,您不应该担心这些警告:在执行过程中会自动调整帧。

它可能会发生,因为有4k外部显示。 我的团队中的每个人都没有这种问题,只有我自己。

打开Xcode后,尝试将逻辑点与物理像素alignment,因此所有内容都会移动0.5个点。