【问题标题】:Xcode 5, storyboard update image position issuesXcode 5,storyboard 更新图片位置问题
【发布时间】:2013-09-22 01:07:46
【问题描述】:

当我在 Xcode 5 中打开我的 Xcode 4.x 项目并加载 Storyboard 时,发生了一些奇怪的事情。主要是,我的一些图像正在重新调整大小和定位。大小总是设置为 0,0,并且位置在屏幕外的某个地方。值如 -3007,12824。这是一个拥有大量故事板布局的应用程序,虽然它并没有把所有的图像都弄乱,但很容易有 500 多个有这个问题。

例如这个

<rect key="frame" x="403" y="134" width="572" height="486"/>

改为

<rect key="frame" x="-815" y="1490" width="0.0" height="0.0"/>

我尝试将情节提要设置为 Xcode 4.6 版本,但没有效果。任何人都知道为什么会发生这种情况以及如何防止它(没有手动丢弃我不想要的所有更改)?

编辑:我正在使用 Xcode 5 的 GM 种子。

【问题讨论】:

    标签: interface-builder storyboard xcode5


    【解决方案1】:

    当我在 iOS 6 视图和 iOS 7 视图之间切换时,我也遇到了一些情节提要的问题。我发现的唯一解决方法是从头开始重新创建情节提要(使用 XCode 5。)

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,在将现有 Storyboard 加载到 Xcode 5 后,它会自动更新为新格式,并且所有图像视图都丢失了。

      事实证明视图层次结构完好无损,只有框架被弄乱了。我检查并修复了所有图像视图框架,从而修复了项目。

      【讨论】:

        【解决方案3】:

        我在 Apple 开发者论坛上找到了this post,这似乎暗示这是一个错误。我已向 Apple 提交了适当的雷达以帮助找到根本原因(正如他们所建议的那样)。

        与此同时,我有一个转换故事板的简单过程。

        1. 在 Xcode 5 中打开它们。
        2. 假设我要提交更改(我们都使用源代码管理,对吗?)
        3. 在已修改文件列表中选择每个情节提要,向下查看 XML 差异并丢弃任何移动我的图像的更改。它们很容易被发现。
        4. 添加评论并完成提交。

        在初始转换后,从 4.x -> 5,Xcode 搞砸了我图像的位置。虽然这是一个烦人的过程,但它比重新创建故事板或手动尝试将项目移回其原始位置要快得多。

        哦,是的...请向 Apple 提交雷达,以便他们解决问题。 :)

        【讨论】:

        • 没有源码控制怎么办?我刚刚尝试更换兼容 XCode 4.6 的故事板(唉,我有备份),而它在 XCode 5 中打开,它又搞砸了!!
        • 永远不要在没有源代码控制的情况下编写代码。至少只需选中复选框,让 Xcode 在项目创建时创建本地 GIT 存储库,然后养成提交的习惯。您也许可以使用差异程序和备份/快照商店来完成同样的事情。 FileMerge 是一个可以做到这一点的应用程序,它是 Xcode(如显示文件内容)然后在 Applications 文件夹中。
        • 强烈建议使用源代码控制,但您可以通过其他方式归档项目。我的建议很简单。 ZIP 项目定期比较不同的版本。在 Beyond Compare 中,您至少可以像在 SC 视图中一样轻松地比较和修改。
        【解决方案4】:

        好吧,我发现将 NSBoxes 换成 NSView 可以修复它并让它的内容平静下来,但是...

        我有一个带有 NSTextField 的 NSTableCellView。我设置了 NSTextField 位置,清理并构建,我确实可以看到我的 NSTextField 在它的位置。但是,如果不是在屏幕上显示此 NSWindow 时进行构建,而是在显示另一个 NSWindow 时构建项目,则 NSTextField 的位置被修改为奇怪的值。呜呜呜,不知道下一步怎么办。有什么提示吗?

        【讨论】:

          【解决方案5】:

          知道了!!!在 XCode 5 中,如果你隐藏一个 NSTableColumn 并尝试修改 de NSTableCellView 的宽度,你会发现 x=-0 (?) 和 width=0。无论你多么努力地改变它。它行不通。设置 x 位置和宽度的唯一方法是取消隐藏 NSTableColumn,调整 de x 和宽度,然后再次隐藏它。我花了一段时间来解决这个问题。我希望 Apple 对此有所作为。

          【讨论】:

            猜你喜欢
            • 2013-11-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-01-23
            • 2022-09-27
            相关资源
            最近更新 更多