Objective c Xcode-打开时修改情节提要视图的大小和位置

Objective c Xcode-打开时修改情节提要视图的大小和位置,objective-c,xcode,git,xcode-storyboard,Objective C,Xcode,Git,Xcode Storyboard,我注意到Xcode有一个非常恼人的地方:我有一些情节提要,当我打开它们时,某些视图的大小和位置会被系统地更新。这很烦人,尤其是与团队合作时 下面是我如何产生这种行为的: 我从git存储库中提取应用程序 打开受影响的情节提要,不进行任何修改 git diff已经告诉我不同之处,比如 $git diff ... - + ... - + 这会发生在其他人身上吗 问题是: 当我只打开故事板时,为什么会修改它,以及如何防止它? 注意: 我意识到这似乎只发生在标签s&文本字段sXcode将情

我注意到Xcode有一个非常恼人的地方:我有一些情节提要,当我打开它们时,某些视图的大小和位置会被系统地更新。这很烦人,尤其是与团队合作时

下面是我如何产生这种行为的:

  • 我从git存储库中提取应用程序
  • 打开受影响的情节提要,不进行任何修改
  • git diff已经告诉我不同之处,比如
$git diff
...
- 
+ 
...
- 
+ 
这会发生在其他人身上吗

问题是:
当我只打开故事板时,为什么会修改它,以及如何防止它?


注意:


我意识到这似乎只发生在
标签
s&
文本字段
s

Xcode将情节提要布局信息保存在XML文件(.storyboard)中的
上。因此,故事板上的任何更改都将反映在该XML中。特别是如果你与队友一起工作,这些信息可能会定期变化。您可以通过移动一些项目(不要更改任何其他内容)来尝试它,然后使用您的git存储库启动一个diff。您应该再次看到XML中的更改。您可以忽略git签出中的脚本文件。但是这没有多大意义,因为你的队友可能已经在故事板中添加了新的项目

也许这也有帮助:[

如果我理解了第一个正确答案,其他更改也可能会触发脚本XML文件的更改

问候 托马斯我也有同样的问题。 你解决了吗? 怎么做

这是我的解决方案:

  • 目前我使用的是Xcode版本6.1.1(6A2008a)
  • 我下载了Xcode 6.3 beta 2版本:6D532l
  • Xcode 6.3 beta 2中的开放项目
  • Xcode 6.3 beta 2将修改情节提要:添加一些字段并更改一些值
  • 运行项目以检查应用程序外观
  • 关闭项目
  • 使用Xcode版本6.1.1(6A2008a)打开
  • 检查更改(在我的例子中,Xcode版本6.1.1(6A2008a)不拒绝Xcode 6.3 beta 2的更改)
  • 运行(问题似乎已解决)

  • 我明白,我所说的是当我在故事板上不做任何修改(只需打开它)时所发生的变化。我已经添加了一个相关讨论的链接。这可能会有所帮助。谢谢你的链接。我已经看到了(我甚至在一个月前评论了答案)。我的问题有点不同,实际上我没有任何OP问题。我遇到了完全相同的问题,只是打开故事板会导致视图更改位置/大小。IB中存在非常恼人的错误。嗨,Andrei,欢迎使用Stack Overflow。本节明确用于回答手头的问题、有关的问题或疑问问题内容应以评论的形式发布。重申Sippy的评论。当你有足够的声誉时,你可以对你想要答案的问题进行投票。同时你是否成功地解决了这个问题?我们正在经历同样的影响(Xcode 7.2)。我不记得解决了。我只记得我开始尽可能多地分割情节提要,以减少合并冲突的机会并简化其最终解决。(我使用的是Xcode 4或5)这听起来有点滑稽,但似乎与您是否在不同分辨率的外部显示器上使用Xcode有关。将情节提要拆分为更小的块是一个好主意。;-)您好,从2020年开始,它变得更疯狂、更烦人。仅仅打开情节提要几乎可以保证生成不同的内容重复。你提交它们,然后再次打开同一个故事板,看到轻微的坐标偏移再次变回以前的值。“更正”似乎取决于在给定情节提要上选择的设备型号,即,无论是2x还是3x视网膜,变化将是0.5或0.333…像素。找不到补救办法。似乎苹果没有人使用git或其他东西。或者苹果没有人使用Xcode。因为很难不注意到这个错误。
    $ git diff
    ...
    - <rect key="frame" x="576.99999828648401" y="11" width="170" height="20"/>
    + <rect key="frame" x="577" y="11" width="170" height="20"/>
    ...
    - <rect key="frame" x="518.99999921768904" y="7" width="228" height="30"/>
    + <rect key="frame" x="519" y="7" width="227.99999841338541" height="30"/>