【问题标题】:Interface Builder hang up on retina imagesInterface Builder 挂断 Retina 图像
【发布时间】:2011-06-20 08:28:01
【问题描述】:

在我的应用程序中,我为图像“Standard”和“Retina”创建了 2 个文件夹,其中我为我的应用程序放置了很多图像。当我打开我的一个 xib 文件时,Interface Builder 挂断了......

我发现如果我删除了这个 xib 使用的 Retina Image,那么 IB 将打开 xib 没有任何问题...这个问题只出现在 1 个 xib 文件中,可以打开另一个 xib 文件没有任何问题。挂断的原因是什么?形象会很差吗?或者也许我不应该将 Retina Images 放到“Retina”文件夹中?可能是什么原因?

谢谢...

【问题讨论】:

  • 当您的应用挂起时,调试器会显示什么?

标签: iphone interface-builder retina-display


【解决方案1】:

当您在目标上编译和运行您的应用程序时,您会收到关于缺少哪个图像的警告。手动删除该图像并将其添加到您的项目中。这应该可以解决您的挂起问题。

【讨论】:

    【解决方案2】:

    您如何命名您的视网膜图像?应按以下格式命名:<your image name>@2x.png。其次,确保您在目标的构建阶段看到这些图像。 至于您的 xib,它挂起,请检查您使用的名称是否与非视网膜图像相同。 IB 知道在运行时使用视网膜显示器更改这些图像。当然,请检查您没有使用项目中没有的图片名称。

    【讨论】:

    • 一切都已检查...一切都很好...100 个其他图像工作正常...而 xib 仅因为一个图像而挂起...而且我不明白出了什么问题...
    • 尝试在控制台应用程序挂起时查看,它可能会有所启发。检查你的项目警告(在你构建之后)是否有一些警告连接到这个 xib 文件。如果你双击它,它应该会告诉你什么是错的。还有一个问题:你是手动编辑的吗?
    【解决方案3】:

    如果您使用“黄色文件夹”,则它们不是实际文件夹。它们仅用于在 XCode 中组织您的文件。其次,您应该在界面生成器中使用普通的iPhone图像,它会自动定位@2x图像,所以如果您使用“蓝色文件夹”并将图像分开,我认为它可能很难理解它当它在非视网膜屏幕上时应该看“标准”,当它是视网膜屏幕时应该看“视网膜”,因为你从来没有告诉过它这样做。

    【讨论】:

      【解决方案4】:

      您仅通过名称结尾来区分视网膜和非视网膜图像: 正常的图片.png 图片@2x.png 用于视网膜 我通常将它们放在同一个文件夹中,以便我可以轻松查看哪些图片支持视网膜。

      如果您的应用在具有视网膜显示屏的设备上运行,则首先使用 [UIImage imageNamed:@"picture.png"] 会尝试加载图片@2x.png。如果无法加载 2x 版本,它将使用 picture.png。

      【讨论】:

        猜你喜欢
        • 2012-11-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-07
        • 2014-01-07
        • 1970-01-01
        • 1970-01-01
        • 2011-02-08
        相关资源
        最近更新 更多